@coorpacademy/components 10.22.6 → 10.22.9

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 (127) hide show
  1. package/es/atom/choice/index.native.js +1 -1
  2. package/es/atom/choice/index.native.js.map +1 -1
  3. package/es/atom/{image-backgound → image-background}/index.native.js +0 -0
  4. package/es/atom/image-background/index.native.js.map +1 -0
  5. package/es/atom/resource-miniature/index.js +1 -2
  6. package/es/atom/resource-miniature/index.js.map +1 -1
  7. package/es/atom/resource-miniature/style.css +4 -0
  8. package/es/molecule/cm-popin/index.js +4 -2
  9. package/es/molecule/cm-popin/index.js.map +1 -1
  10. package/es/molecule/review-correction-popin/prop-types.js +0 -1
  11. package/es/molecule/review-correction-popin/prop-types.js.map +1 -1
  12. package/es/organism/review-congrats/style.css +1 -1
  13. package/es/organism/review-slide/index.js +184 -0
  14. package/es/organism/review-slide/index.js.map +1 -0
  15. package/es/organism/review-slide/prop-types.js +37 -0
  16. package/es/organism/review-slide/prop-types.js.map +1 -0
  17. package/es/organism/review-slide/style.css +171 -0
  18. package/es/organism/review-stacked-slides/index.js +81 -0
  19. package/es/organism/review-stacked-slides/index.js.map +1 -0
  20. package/es/organism/review-stacked-slides/prop-types.js +16 -0
  21. package/es/organism/review-stacked-slides/prop-types.js.map +1 -0
  22. package/es/organism/review-stacked-slides/style.css +179 -0
  23. package/es/template/app-player/player/slides/header/learner.css +4 -0
  24. package/es/template/app-player/player/slides/header/learner.js +2 -3
  25. package/es/template/app-player/player/slides/header/learner.js.map +1 -1
  26. package/es/template/app-player/player/slides/header/microlearning.css +4 -0
  27. package/es/template/app-player/player/slides/header/microlearning.js +1 -2
  28. package/es/template/app-player/player/slides/header/microlearning.js.map +1 -1
  29. package/es/template/app-player/player/slides/index.js +3 -4
  30. package/es/template/app-player/player/slides/index.js.map +1 -1
  31. package/es/template/app-player/player/slides/style.css +5 -0
  32. package/es/template/app-player/popin-correction/index.js +3 -4
  33. package/es/template/app-player/popin-correction/index.js.map +1 -1
  34. package/es/template/app-player/popin-correction/style.css +4 -0
  35. package/es/template/app-player/popin-end/summary.css +4 -0
  36. package/es/template/app-player/popin-end/summary.js +3 -4
  37. package/es/template/app-player/popin-end/summary.js.map +1 -1
  38. package/es/template/app-player/popin-header/index.js +3 -4
  39. package/es/template/app-player/popin-header/index.js.map +1 -1
  40. package/es/template/app-player/popin-header/style.css +4 -0
  41. package/es/template/app-review/index.js +7 -8
  42. package/es/template/app-review/index.js.map +1 -1
  43. package/es/template/app-review/index.native.js +6 -10
  44. package/es/template/app-review/index.native.js.map +1 -1
  45. package/es/template/app-review/player/index.js +36 -0
  46. package/es/template/app-review/player/index.js.map +1 -0
  47. package/es/template/app-review/{slides → player}/index.native.js +15 -13
  48. package/es/template/app-review/player/index.native.js.map +1 -0
  49. package/es/template/app-review/player/prop-types.js +12 -0
  50. package/es/template/app-review/player/prop-types.js.map +1 -0
  51. package/es/template/app-review/player/style.css +41 -0
  52. package/es/template/app-review/prop-types.js +3 -3
  53. package/es/template/app-review/prop-types.js.map +1 -1
  54. package/es/template/common/authors/index.js +1 -2
  55. package/es/template/common/authors/index.js.map +1 -1
  56. package/es/template/common/authors/style.css +4 -0
  57. package/lib/atom/choice/index.native.js +1 -1
  58. package/lib/atom/choice/index.native.js.map +1 -1
  59. package/lib/atom/{image-backgound → image-background}/index.native.js +0 -0
  60. package/lib/atom/image-background/index.native.js.map +1 -0
  61. package/lib/atom/resource-miniature/index.js +9 -11
  62. package/lib/atom/resource-miniature/index.js.map +1 -1
  63. package/lib/atom/resource-miniature/style.css +4 -0
  64. package/lib/molecule/cm-popin/index.js +4 -2
  65. package/lib/molecule/cm-popin/index.js.map +1 -1
  66. package/lib/molecule/review-correction-popin/prop-types.js +0 -1
  67. package/lib/molecule/review-correction-popin/prop-types.js.map +1 -1
  68. package/lib/organism/review-congrats/style.css +1 -1
  69. package/lib/organism/review-slide/index.js +206 -0
  70. package/lib/organism/review-slide/index.js.map +1 -0
  71. package/lib/organism/review-slide/prop-types.js +50 -0
  72. package/lib/organism/review-slide/prop-types.js.map +1 -0
  73. package/lib/organism/review-slide/style.css +171 -0
  74. package/lib/organism/review-stacked-slides/index.js +99 -0
  75. package/lib/organism/review-stacked-slides/index.js.map +1 -0
  76. package/lib/organism/review-stacked-slides/prop-types.js +30 -0
  77. package/lib/organism/review-stacked-slides/prop-types.js.map +1 -0
  78. package/lib/organism/review-stacked-slides/style.css +179 -0
  79. package/lib/template/app-player/player/slides/header/learner.css +4 -0
  80. package/lib/template/app-player/player/slides/header/learner.js +2 -4
  81. package/lib/template/app-player/player/slides/header/learner.js.map +1 -1
  82. package/lib/template/app-player/player/slides/header/microlearning.css +4 -0
  83. package/lib/template/app-player/player/slides/header/microlearning.js +1 -3
  84. package/lib/template/app-player/player/slides/header/microlearning.js.map +1 -1
  85. package/lib/template/app-player/player/slides/index.js +23 -25
  86. package/lib/template/app-player/player/slides/index.js.map +1 -1
  87. package/lib/template/app-player/player/slides/style.css +5 -0
  88. package/lib/template/app-player/popin-correction/index.js +20 -22
  89. package/lib/template/app-player/popin-correction/index.js.map +1 -1
  90. package/lib/template/app-player/popin-correction/style.css +4 -0
  91. package/lib/template/app-player/popin-end/summary.css +4 -0
  92. package/lib/template/app-player/popin-end/summary.js +3 -5
  93. package/lib/template/app-player/popin-end/summary.js.map +1 -1
  94. package/lib/template/app-player/popin-header/index.js +32 -34
  95. package/lib/template/app-player/popin-header/index.js.map +1 -1
  96. package/lib/template/app-player/popin-header/style.css +4 -0
  97. package/lib/template/app-review/index.js +6 -8
  98. package/lib/template/app-review/index.js.map +1 -1
  99. package/lib/template/app-review/index.native.js +6 -11
  100. package/lib/template/app-review/index.native.js.map +1 -1
  101. package/lib/template/app-review/player/index.js +51 -0
  102. package/lib/template/app-review/player/index.js.map +1 -0
  103. package/lib/template/app-review/{slides → player}/index.native.js +14 -12
  104. package/lib/template/app-review/player/index.native.js.map +1 -0
  105. package/lib/template/app-review/player/prop-types.js +25 -0
  106. package/lib/template/app-review/player/prop-types.js.map +1 -0
  107. package/lib/template/app-review/player/style.css +41 -0
  108. package/lib/template/app-review/prop-types.js +3 -3
  109. package/lib/template/app-review/prop-types.js.map +1 -1
  110. package/lib/template/common/authors/index.js +15 -17
  111. package/lib/template/common/authors/index.js.map +1 -1
  112. package/lib/template/common/authors/style.css +4 -0
  113. package/package.json +2 -2
  114. package/es/atom/image-backgound/index.native.js.map +0 -1
  115. package/es/template/app-review/slides/index.js +0 -352
  116. package/es/template/app-review/slides/index.js.map +0 -1
  117. package/es/template/app-review/slides/index.native.js.map +0 -1
  118. package/es/template/app-review/slides/prop-types.js +0 -111
  119. package/es/template/app-review/slides/prop-types.js.map +0 -1
  120. package/es/template/app-review/slides/style.css +0 -409
  121. package/lib/atom/image-backgound/index.native.js.map +0 -1
  122. package/lib/template/app-review/slides/index.js +0 -385
  123. package/lib/template/app-review/slides/index.js.map +0 -1
  124. package/lib/template/app-review/slides/index.native.js.map +0 -1
  125. package/lib/template/app-review/slides/prop-types.js +0 -131
  126. package/lib/template/app-review/slides/prop-types.js.map +0 -1
  127. package/lib/template/app-review/slides/style.css +0 -409
@@ -1,385 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.default = exports.HIGHEST_INDEX = exports.TOTAL_SLIDES_STACK = void 0;
5
-
6
- var _react = _interopRequireWildcard(require("react"));
7
-
8
- var _classnames = _interopRequireDefault(require("classnames"));
9
-
10
- var _get = _interopRequireDefault(require("lodash/fp/get"));
11
-
12
- var _getOr = _interopRequireDefault(require("lodash/fp/getOr"));
13
-
14
- var _isNil = _interopRequireDefault(require("lodash/fp/isNil"));
15
-
16
- var _map = _interopRequireDefault(require("lodash/fp/map"));
17
-
18
- var _omit = _interopRequireDefault(require("lodash/fp/omit"));
19
-
20
- var _pipe = _interopRequireDefault(require("lodash/fp/pipe"));
21
-
22
- var _size = _interopRequireDefault(require("lodash/fp/size"));
23
-
24
- var _reviewHeaderStepItem = require("../../../atom/review-header-step-item");
25
-
26
- var _reviewBackground = _interopRequireDefault(require("../../../atom/review-background"));
27
-
28
- var _reviewCongrats = _interopRequireDefault(require("../../../organism/review-congrats"));
29
-
30
- var _reviewHeader = _interopRequireDefault(require("../../../organism/review-header"));
31
-
32
- var _reviewCorrectionPopin = _interopRequireDefault(require("../../../molecule/review-correction-popin"));
33
-
34
- var _answer = _interopRequireDefault(require("../../../molecule/answer"));
35
-
36
- var _buttonLink = _interopRequireDefault(require("../../../atom/button-link"));
37
-
38
- var _style = _interopRequireDefault(require("./style.css"));
39
-
40
- var _propTypes = require("./prop-types");
41
-
42
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
43
-
44
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
45
-
46
- 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; }
47
-
48
- 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); }
49
-
50
- const stylesByPosition = {
51
- 0: _style.default.position0,
52
- 1: _style.default.position1,
53
- 2: _style.default.position2,
54
- 3: _style.default.position3,
55
- 4: _style.default.position4
56
- };
57
- const TOTAL_SLIDES_STACK = 5;
58
- exports.TOTAL_SLIDES_STACK = TOTAL_SLIDES_STACK;
59
- const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;
60
- exports.HIGHEST_INDEX = HIGHEST_INDEX;
61
-
62
- const getSlideAnimation = (action, position, hidden) => {
63
- switch (action) {
64
- /* istanbul ignore next */
65
- case 'unstack':
66
- return _style.default.slideOutHideAndIn;
67
-
68
- /* istanbul ignore next */
69
-
70
- case 'restack':
71
- return _style.default.slideOutAndIn;
72
-
73
- default:
74
- return hidden ? _style.default.hiddenSlide : stylesByPosition[position];
75
- }
76
- };
77
-
78
- const Slide = ({
79
- slideNumber,
80
- slides,
81
- primarySkinColor,
82
- validate,
83
- validateSlide,
84
- finishedSlides,
85
- finishedSlidesSize,
86
- updateSlidesOnNext,
87
- updateReviewStatus,
88
- updateStepItemsOnNext,
89
- progression,
90
- correctionPopinProps
91
- }) => {
92
- const hidden = (0, _getOr.default)(false, `${slideNumber}.hidden`, slides);
93
- const endReview = (0, _getOr.default)(false, `${slideNumber}.endReview`, slides);
94
- const position = (0, _get.default)(`${slideNumber}.position`, slides);
95
- const animationType = (0, _getOr.default)(false, `${slideNumber}.animationType`, slides);
96
- const isSlideCorrect = (0, _getOr.default)(null, `${slideNumber}.isCorrect`, slides);
97
- const questionText = (0, _get.default)(`${slideNumber}.questionText`, slides);
98
- const answerUI = (0, _get.default)(`${slideNumber}.answerUI`, slides);
99
- const validateLabel = (0, _getOr.default)('', 'label', validate);
100
- const validateButtonProps = {
101
- customStyle: {
102
- backgroundColor: primarySkinColor
103
- },
104
-
105
- /*
106
- slide validation action, this will trigger the correction popin
107
- (with the useEffect that fires the dispatchers, if there is a nextContent content,
108
- it will be loaded here) but will not trigger any animations unless the endReview
109
- signal is received (all slides will disappear, also fired in a useEffect),
110
- if it is the last slide and the content needs to be different, then that update will
111
- be handled on the next slide logic but the content will be carried from here.
112
- */
113
- onClick: async () => {
114
- // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'
115
- await validateSlide();
116
- },
117
- 'aria-label': validateLabel,
118
- label: validateLabel,
119
- 'data-name': `slide-validate-button-${slideNumber}`,
120
- className: _style.default.validateButton,
121
- disabled: !(0, _isNil.default)(isSlideCorrect)
122
- };
123
- const klf = (0, _getOr.default)({}, 'klf', correctionPopinProps);
124
- const information = (0, _getOr.default)({
125
- label: '',
126
- message: ''
127
- }, 'information', correctionPopinProps);
128
- const next = (0, _get.default)('next', correctionPopinProps);
129
- const successLabel = (0, _getOr.default)('', 'successLabel', correctionPopinProps);
130
- const failureLabel = (0, _getOr.default)('', 'failureLabel', correctionPopinProps);
131
- const _correctionPopinProps = {
132
- next: {
133
- /*
134
- next slide action, this will trigger the slides animations
135
- if it is the last slide AND the content needs to be different, then that update
136
- of the content will be handled here (and in the validate as it happens normally )
137
- from the content carried from the validate action.
138
- */
139
- onClick: () => {
140
- const exitNode = (0, _get.default)('exitNode', progression);
141
- updateSlidesOnNext({
142
- slideNumber,
143
- newSlideContent: {
144
- hidden: !!isSlideCorrect,
145
- position: HIGHEST_INDEX - finishedSlidesSize,
146
- // to restack the slide
147
- animationType: isSlideCorrect ? 'unstack' : 'restack',
148
- isCorrect: isSlideCorrect,
149
- endReview: !!exitNode,
150
- answerUI,
151
- questionText
152
- },
153
- numberOfFinishedSlides: finishedSlidesSize
154
- });
155
- updateStepItemsOnNext({
156
- stepNumber: slideNumber,
157
- finishedSlides,
158
- current: finishedSlidesSize === HIGHEST_INDEX &&
159
- /* istanbul ignore next */
160
- !isSlideCorrect
161
- });
162
- if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');
163
- },
164
- label: next && next.label,
165
- 'data-name': `next-question-button-${slideNumber}`,
166
- 'aria-label': next && next['aria-label']
167
- },
168
- klf,
169
- information,
170
- type: isSlideCorrect ? 'right' : 'wrong',
171
- resultLabel: isSlideCorrect ? successLabel : failureLabel
172
- };
173
- const questionOrigin = 'From "Master Design Thinking to become more agile" course';
174
- const answerProps = (0, _get.default)(['model', 'choices'], answerUI) ?
175
- /* istanbul ignore next */
176
- _extends(_extends({}, answerUI), {}, {
177
- model: _extends(_extends({}, answerUI.model), {}, {
178
- answers: answerUI.model.choices
179
- })
180
- }) : answerUI;
181
- return /*#__PURE__*/_react.default.createElement("div", {
182
- key: `slide-${slideNumber}`,
183
- "data-name": `slide-${slideNumber}`,
184
- className: (0, _classnames.default)(_style.default.slideBase, getSlideAnimation(animationType, position, hidden), endReview ? _style.default.endReview : null)
185
- }, answerUI && questionText ? /*#__PURE__*/_react.default.createElement("div", {
186
- key: "content-container",
187
- className: _style.default.slideContentContainer
188
- }, /*#__PURE__*/_react.default.createElement("div", {
189
- key: "from-course",
190
- className: _style.default.questionOrigin
191
- }, questionOrigin), /*#__PURE__*/_react.default.createElement("div", {
192
- key: "title",
193
- className: _style.default.question
194
- }, questionText), /*#__PURE__*/_react.default.createElement("div", {
195
- key: "help",
196
- className: _style.default.help
197
- }, answerUI.help), /*#__PURE__*/_react.default.createElement("div", {
198
- key: "answer-container",
199
- className: _style.default.answerContainer
200
- }, /*#__PURE__*/_react.default.createElement(_answer.default, _extends({}, answerProps, {
201
- key: "answer"
202
- })))) : null, /*#__PURE__*/_react.default.createElement("div", {
203
- key: "button-wrapper",
204
- className: _style.default.validateButtonWrapper
205
- }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, validateButtonProps)), /*#__PURE__*/_react.default.createElement("div", {
206
- className: isSlideCorrect ? _style.default.correctionPopinWrapper : _style.default.hiddenCorrectionPopinWrapper,
207
- style: _extends({}, finishedSlidesSize !== HIGHEST_INDEX && !isSlideCorrect && {
208
- display: 'none'
209
- })
210
- }, /*#__PURE__*/_react.default.createElement(_reviewCorrectionPopin.default, _correctionPopinProps)));
211
- };
212
-
213
- Slide.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.SlidePropTypes : {};
214
-
215
- const StackedSlides = ({
216
- slides,
217
- primarySkinColor,
218
- validate,
219
- validateSlide,
220
- finishedSlides,
221
- finishedSlidesSize,
222
- updateSlidesOnNext,
223
- updateReviewStatus,
224
- updateStepItemsOnNext,
225
- progression,
226
- correctionPopinProps
227
- }) => {
228
- const stackedSlides = []; // eslint-disable-next-line fp/no-loops
229
-
230
- for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {
231
- const slide = /*#__PURE__*/_react.default.createElement(Slide, _extends({
232
- slideNumber,
233
- slides,
234
- primarySkinColor,
235
- validate,
236
- validateSlide,
237
- finishedSlides,
238
- finishedSlidesSize,
239
- updateSlidesOnNext,
240
- updateReviewStatus,
241
- updateStepItemsOnNext,
242
- progression,
243
- correctionPopinProps
244
- }, {
245
- key: slideNumber
246
- }));
247
-
248
- stackedSlides.push(slide);
249
- }
250
-
251
- return stackedSlides;
252
- };
253
-
254
- StackedSlides.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.StackedSlidesPropTypes : {};
255
-
256
- const SlidesReview = ({
257
- headerProps,
258
- reviewBackgroundAriaLabel,
259
- validate,
260
- correctionPopinProps,
261
- slides,
262
- finishedSlides,
263
- stepItems,
264
- reviewStatus,
265
- congratsProps,
266
- validateSlide,
267
- updateSlidesOnValidation,
268
- updateSlidesOnNext,
269
- updateReviewStatus,
270
- updateStepItemsOnValidation,
271
- updateStepItemsOnNext,
272
- updateFinishedSlides,
273
- progression
274
- }, context) => {
275
- const {
276
- skin
277
- } = context;
278
- const primarySkinColor = (0, _react.useMemo)(() => (0, _getOr.default)('#00B0FF', 'common.primary', skin), [skin]);
279
- const finishedSlidesSize = (0, _react.useMemo)(() => (0, _pipe.default)((0, _omit.default)('slideNumbers'), _size.default)(finishedSlides), [finishedSlides]);
280
- /*
281
- ||-------> the slides have an slightly longer lifespan than the "ongoing" review State,
282
- after reviewState changes to "finished" the slides don't have to unmount until the last
283
- slide-out animation is finished, the slides have to be unmounted to be RGAA complaint.
284
- (if they are only invisible -but- still mounted, then they will be found by the assisting
285
- tools & clutter them)
286
- */
287
-
288
- const [shouldMountSlides, updateShouldMountSlides] = (0, _react.useState)(true);
289
- (0, _react.useEffect)(
290
- /* istanbul ignore next */
291
- () => {
292
- const slideNumber = (0, _get.default)('slideNumber', progression); // temporal fix, should check for new slides in the state && then update
293
-
294
- if (progression && slideNumber !== 0) {
295
- const hidden = (0, _getOr.default)(false, `${slideNumber}.hidden`, slides);
296
- const endReview = (0, _getOr.default)(false, `${slideNumber}.endReview`, slides);
297
- const position = (0, _get.default)(`${slideNumber}.position`, slides);
298
- const isCorrect = (0, _get.default)('isCorrect', progression);
299
- const exitNode = (0, _get.default)('exitNode', progression);
300
- const nextContent = (0, _get.default)('nextContent', progression);
301
- updateSlidesOnValidation({
302
- slideNumber,
303
- newSlideContent: {
304
- hidden,
305
- position,
306
- isCorrect,
307
- endReview: !!exitNode
308
- },
309
- numberOfFinishedSlides: finishedSlidesSize,
310
- nextContent
311
- });
312
- updateStepItemsOnValidation({
313
- stepNumber: slideNumber,
314
- icon: isCorrect ? _reviewHeaderStepItem.ICON_VALUES.right : _reviewHeaderStepItem.ICON_VALUES.wrong
315
- });
316
- if (isCorrect) updateFinishedSlides({
317
- slideNumber,
318
- value: true
319
- });
320
-
321
- if (endReview) {
322
- updateReviewStatus('finished');
323
- }
324
- }
325
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
326
- [progression]);
327
- (0, _react.useEffect)(
328
- /* istanbul ignore next */
329
- () => {
330
- if (reviewStatus === 'finished') {
331
- setTimeout(() => updateShouldMountSlides(false), 2000);
332
- }
333
- }, [finishedSlidesSize, reviewStatus, updateReviewStatus]); // ||-------> transform the step items state to Array
334
-
335
- const stepItemsArray = (0, _react.useMemo)(() => (0, _pipe.default)((0, _omit.default)('slideNumbers'), (0, _map.default)(stepItem => stepItem))(stepItems), [stepItems]);
336
-
337
- const _headerProps = _extends(_extends({}, headerProps), {}, {
338
- steps: stepItemsArray,
339
- key: 'review-header',
340
- hiddenSteps: reviewStatus !== 'ongoing'
341
- });
342
-
343
- return /*#__PURE__*/_react.default.createElement("div", {
344
- key: "slides-revision-container",
345
- "data-name": "slides-revision-container",
346
- className: _style.default.slidesRevisionContainer
347
- }, /*#__PURE__*/_react.default.createElement("div", {
348
- key: "player-background-container",
349
- className: _style.default.playerBackground
350
- }, /*#__PURE__*/_react.default.createElement(_reviewBackground.default, {
351
- "aria-label": reviewBackgroundAriaLabel
352
- })), /*#__PURE__*/_react.default.createElement("div", {
353
- key: "review-header-wrapper",
354
- className: _style.default.reviewHeaderContainer
355
- }, /*#__PURE__*/_react.default.createElement(_reviewHeader.default, _headerProps)), shouldMountSlides ? /*#__PURE__*/_react.default.createElement("div", {
356
- key: "stacked-slides-container-y-overflow",
357
- className: _style.default.stackedSlidesYAxisOverflowContainer
358
- }, /*#__PURE__*/_react.default.createElement("div", {
359
- key: "stacked-slides-container",
360
- "data-name": "stacked-slides-container",
361
- className: _style.default.stackedSlidesContainer
362
- }, /*#__PURE__*/_react.default.createElement(StackedSlides, {
363
- slides,
364
- primarySkinColor,
365
- validate,
366
- validateSlide,
367
- finishedSlides,
368
- finishedSlidesSize,
369
- updateSlidesOnNext,
370
- updateReviewStatus,
371
- updateStepItemsOnNext,
372
- progression,
373
- correctionPopinProps
374
- }))) :
375
- /* istanbul ignore next */
376
- null, reviewStatus === 'finished' ? /*#__PURE__*/_react.default.createElement("div", {
377
- className: _style.default.congrats,
378
- "data-name": "congrats-container"
379
- }, /*#__PURE__*/_react.default.createElement(_reviewCongrats.default, congratsProps)) : null);
380
- };
381
-
382
- SlidesReview.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.SlidesReviewPropTypes : {};
383
- var _default = SlidesReview;
384
- exports.default = _default;
385
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["stylesByPosition","style","position0","position1","position2","position3","position4","TOTAL_SLIDES_STACK","HIGHEST_INDEX","getSlideAnimation","action","position","hidden","slideOutHideAndIn","slideOutAndIn","hiddenSlide","Slide","slideNumber","slides","primarySkinColor","validate","validateSlide","finishedSlides","finishedSlidesSize","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnNext","progression","correctionPopinProps","endReview","animationType","isSlideCorrect","questionText","answerUI","validateLabel","validateButtonProps","customStyle","backgroundColor","onClick","label","className","validateButton","disabled","klf","information","message","next","successLabel","failureLabel","_correctionPopinProps","exitNode","newSlideContent","isCorrect","numberOfFinishedSlides","stepNumber","current","type","resultLabel","questionOrigin","answerProps","model","answers","choices","slideBase","slideContentContainer","question","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","propTypes","SlidePropTypes","StackedSlides","stackedSlides","slide","push","StackedSlidesPropTypes","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","size","shouldMountSlides","updateShouldMountSlides","nextContent","icon","ICON_VALUES","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats","SlidesReviewPropTypes"],"mappings":"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","sourcesContent":["import React, {useState, useMemo, useEffect} from 'react';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport isNil from 'lodash/fp/isNil';\nimport map from 'lodash/fp/map';\nimport omit from 'lodash/fp/omit';\nimport pipe from 'lodash/fp/pipe';\nimport size from 'lodash/fp/size';\nimport {ICON_VALUES} from '../../../atom/review-header-step-item';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewHeader from '../../../organism/review-header';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport Answer from '../../../molecule/answer';\nimport ButtonLink from '../../../atom/button-link';\nimport style from './style.css';\nimport {SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes} from './prop-types';\n\nconst stylesByPosition = {\n 0: style.position0,\n 1: style.position1,\n 2: style.position2,\n 3: style.position3,\n 4: style.position4\n};\n\nexport const TOTAL_SLIDES_STACK = 5;\nexport const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n /* istanbul ignore next */\n case 'unstack':\n return style.slideOutHideAndIn;\n /* istanbul ignore next */\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst Slide = ({\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const animationType = getOr(false, `${slideNumber}.animationType`, slides);\n const isSlideCorrect = getOr(null, `${slideNumber}.isCorrect`, slides);\n const questionText = get(`${slideNumber}.questionText`, slides);\n const answerUI = get(`${slideNumber}.answerUI`, slides);\n\n const validateLabel = getOr('', 'label', validate);\n\n const validateButtonProps = {\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 slides 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 */\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n 'aria-label': validateLabel,\n label: validateLabel,\n 'data-name': `slide-validate-button-${slideNumber}`,\n className: style.validateButton,\n disabled: !isNil(isSlideCorrect)\n };\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const successLabel = getOr('', 'successLabel', correctionPopinProps);\n const failureLabel = getOr('', 'failureLabel', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n /*\n next slide action, this will trigger the slides animations\n if it is the last slide AND the content needs to be different, then that update\n of the content will be handled here (and in the validate as it happens normally )\n from the content carried from the validate action.\n */\n onClick: () => {\n const exitNode = get('exitNode', progression);\n\n updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: !!isSlideCorrect,\n position: HIGHEST_INDEX - finishedSlidesSize, // to restack the slide\n animationType: isSlideCorrect ? 'unstack' : 'restack',\n isCorrect: isSlideCorrect,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlidesSize\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current:\n finishedSlidesSize === HIGHEST_INDEX && /* istanbul ignore next */ !isSlideCorrect\n });\n\n if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: isSlideCorrect ? 'right' : 'wrong',\n resultLabel: isSlideCorrect ? successLabel : failureLabel\n };\n\n const questionOrigin = 'From \"Master Design Thinking to become more agile\" course';\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\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(animationType, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answerUI && questionText ? (\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 {answerUI.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n ) : null}\n\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n <div\n className={\n isSlideCorrect ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper\n }\n style={{\n ...(finishedSlidesSize !== HIGHEST_INDEX &&\n !isSlideCorrect && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\nSlide.propTypes = SlidePropTypes;\n\nconst StackedSlides = ({\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const stackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n const slide = (\n <Slide\n {...{\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n key={slideNumber}\n />\n );\n stackedSlides.push(slide);\n }\n\n return stackedSlides;\n};\n\nStackedSlides.propTypes = StackedSlidesPropTypes;\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n slides,\n finishedSlides,\n stepItems,\n reviewStatus,\n congratsProps,\n validateSlide,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n progression\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [\n finishedSlides\n ]);\n\n /*\n ||-------> the slides have an slightly longer lifespan than the \"ongoing\" review State,\n after reviewState changes to \"finished\" the slides don't have to unmount until the last\n slide-out animation is finished, the slides have to be unmounted to be RGAA complaint.\n (if they are only invisible -but- still mounted, then they will be found by the assisting\n tools & clutter them)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n useEffect(\n /* istanbul ignore next */ () => {\n const slideNumber = get('slideNumber', progression);\n // temporal fix, should check for new slides in the state && then update\n if (progression && slideNumber !== 0) {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const isCorrect = get('isCorrect', progression);\n const exitNode = get('exitNode', progression);\n const nextContent = get('nextContent', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextContent\n });\n updateStepItemsOnValidation({\n stepNumber: slideNumber,\n icon: isCorrect ? ICON_VALUES.right : ICON_VALUES.wrong\n });\n if (isCorrect) updateFinishedSlides({slideNumber, value: true});\n if (endReview) {\n updateReviewStatus('finished');\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [progression]\n );\n\n useEffect(\n /* istanbul ignore next */ () => {\n if (reviewStatus === 'finished') {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n [finishedSlidesSize, reviewStatus, updateReviewStatus]\n );\n\n // ||-------> transform the step items state to Array\n const stepItemsArray = useMemo(\n () =>\n pipe(\n omit('slideNumbers'),\n map(stepItem => stepItem)\n )(stepItems),\n [stepItems]\n );\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewStatus !== 'ongoing'\n };\n\n return (\n <div\n key=\"slides-revision-container\"\n data-name=\"slides-revision-container\"\n className={style.slidesRevisionContainer}\n >\n <div key=\"player-background-container\" className={style.playerBackground}>\n <ReviewBackground aria-label={reviewBackgroundAriaLabel} />\n </div>\n\n <div key=\"review-header-wrapper\" className={style.reviewHeaderContainer}>\n <ReviewHeader {..._headerProps} />\n </div>\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container-y-overflow\"\n className={style.stackedSlidesYAxisOverflowContainer}\n >\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n <StackedSlides\n {...{\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : /* istanbul ignore next */ null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = SlidesReviewPropTypes;\n\nexport default SlidesReview;\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/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","slides","SlidesReviewPropTypes"],"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 {SlidesReviewPropTypes} 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// -----------------------------------------------------------------------------\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\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// -----------------------------------------------------------------------------\n\n// const Slides = ({slide}: Props) => {\nconst Slides = ({slides, validateSlide}) => {\n if (!slides) {\n return null;\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 = SlidesReviewPropTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Slides;\n"],"file":"index.native.js"}
@@ -1,131 +0,0 @@
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 _propTypes2 = _interopRequireDefault(require("../../../organism/review-congrats/prop-types"));
11
-
12
- var _propTypes3 = _interopRequireDefault(require("../../../molecule/review-correction-popin/prop-types"));
13
-
14
- var _propTypes4 = _interopRequireDefault(require("../../../atom/review-background/prop-types"));
15
-
16
- var _propTypes5 = _interopRequireDefault(require("../../../organism/review-header/prop-types"));
17
-
18
- var _propTypes6 = _interopRequireDefault(require("../../../molecule/answer/prop-types"));
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- 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); }
23
-
24
- const NextSlideProp = _propTypes.default.shape({
25
- hidden: _propTypes.default.bool,
26
- position: _propTypes.default.number,
27
- // 'unstack' | 'restack'
28
- animationType: _propTypes.default.string,
29
- // 'success' | 'failure'
30
- isCorrect: _propTypes.default.string,
31
- endReview: _propTypes.default.bool,
32
- questionText: _propTypes.default.string,
33
- answerUI: _propTypes6.default
34
- });
35
-
36
- const SlideProp = _propTypes.default.shape(_extends(_extends({}, NextSlideProp.props), {}, {
37
- nextContent: NextSlideProp
38
- }));
39
-
40
- const StepItemProp = _propTypes.default.shape({
41
- current: _propTypes.default.bool,
42
- icon: _propTypes.default.string,
43
- value: _propTypes.default.string
44
- });
45
-
46
- const SlidesReviewPropTypes = {
47
- headerProps: _propTypes.default.shape((0, _omit.default)('steps', _propTypes5.default.propTypes)),
48
- reviewBackgroundAriaLabel: _propTypes4.default['aria-label'],
49
- validate: _propTypes.default.shape({
50
- label: _propTypes.default.string
51
- }),
52
- slides: _propTypes.default.shape({
53
- slideNumbers: _propTypes.default.arrayOf(_propTypes.default.number),
54
- 0: SlideProp,
55
- 1: SlideProp,
56
- 2: SlideProp,
57
- 3: SlideProp,
58
- 4: SlideProp
59
- }),
60
- finishedSlides: _propTypes.default.shape({
61
- slideNumbers: _propTypes.default.arrayOf(_propTypes.default.number),
62
- 0: _propTypes.default.bool,
63
- 1: _propTypes.default.bool,
64
- 2: _propTypes.default.bool,
65
- 3: _propTypes.default.bool,
66
- 4: _propTypes.default.bool
67
- }),
68
- stepItems: _propTypes.default.shape({
69
- slideNumbers: _propTypes.default.arrayOf(_propTypes.default.number),
70
- 0: StepItemProp,
71
- 1: StepItemProp,
72
- 2: StepItemProp,
73
- 3: StepItemProp,
74
- 4: StepItemProp
75
- }),
76
- // 'finished' | 'ongoing'
77
- reviewStatus: _propTypes.default.string,
78
- correctionPopinProps: _propTypes.default.shape({
79
- // ---------------
80
- klf: _propTypes3.default.klf,
81
- information: _propTypes3.default.information,
82
- next: _propTypes.default.shape({
83
- label: _propTypes.default.string,
84
- 'aria-label': _propTypes.default.string
85
- }),
86
- successLabel: _propTypes3.default.resultLabel,
87
- failureLabel: _propTypes3.default.resultLabel
88
- }),
89
- congratsProps: _propTypes.default.shape(_propTypes2.default),
90
- progression: _propTypes.default.shape({
91
- slideNumber: _propTypes.default.number,
92
- // 'success' | 'failure'
93
- isCorrect: _propTypes.default.bool,
94
- // 'successExitNode' | 'failExitNode'
95
- exitNode: _propTypes.default.string,
96
- nextContent: _propTypes.default.shape({
97
- questionText: _propTypes.default.string,
98
- answerUI: _propTypes.default.shape(_propTypes6.default)
99
- })
100
- }),
101
- // ---------------------------------------------------------------------------
102
- // Dispatchers
103
- validateSlide: _propTypes.default.func.isRequired,
104
- updateSlidesOnValidation: _propTypes.default.func.isRequired,
105
- updateSlidesOnNext: _propTypes.default.func.isRequired,
106
- updateReviewStatus: _propTypes.default.func.isRequired,
107
- updateStepItemsOnValidation: _propTypes.default.func.isRequired,
108
- updateStepItemsOnNext: _propTypes.default.func.isRequired,
109
- updateFinishedSlides: _propTypes.default.func.isRequired
110
- };
111
- exports.SlidesReviewPropTypes = SlidesReviewPropTypes;
112
- const SlidePropTypes = {
113
- slideNumber: _propTypes.default.number,
114
- slides: SlidesReviewPropTypes.slides,
115
- primarySkinColor: _propTypes.default.string,
116
- validate: SlidesReviewPropTypes.validate,
117
- finishedSlides: SlidesReviewPropTypes.finishedSlides,
118
- finishedSlidesSize: _propTypes.default.number,
119
- correctionPopinProps: SlidesReviewPropTypes.correctionPopinProps,
120
- // ---------------
121
- // Dispatchers
122
- validateSlide: SlidesReviewPropTypes.validateSlide,
123
- updateSlidesOnNext: SlidesReviewPropTypes.updateSlidesOnNext,
124
- updateReviewStatus: SlidesReviewPropTypes.updateReviewStatus,
125
- updateStepItemsOnNext: SlidesReviewPropTypes.updateStepItemsOnNext,
126
- progression: SlidesReviewPropTypes.progression
127
- };
128
- exports.SlidePropTypes = SlidePropTypes;
129
- const StackedSlidesPropTypes = (0, _omit.default)('slideNumber', SlidePropTypes);
130
- exports.StackedSlidesPropTypes = StackedSlidesPropTypes;
131
- //# sourceMappingURL=prop-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/prop-types.js"],"names":["NextSlideProp","PropTypes","shape","hidden","bool","position","number","animationType","string","isCorrect","endReview","questionText","answerUI","AnswerPropTypes","SlideProp","props","nextContent","StepItemProp","current","icon","value","SlidesReviewPropTypes","headerProps","ReviewHeader","propTypes","reviewBackgroundAriaLabel","ReviewBackgroundPropTypes","validate","label","slides","slideNumbers","arrayOf","finishedSlides","stepItems","reviewStatus","correctionPopinProps","klf","ReviewCorrectionPopinPropTypes","information","next","successLabel","resultLabel","failureLabel","congratsProps","ReviewCongratsPropTypes","progression","slideNumber","exitNode","validateSlide","func","isRequired","updateSlidesOnValidation","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnValidation","updateStepItemsOnNext","updateFinishedSlides","SlidePropTypes","primarySkinColor","finishedSlidesSize","StackedSlidesPropTypes"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport omit from 'lodash/fp/omit';\n\nimport ReviewCongratsPropTypes from '../../../organism/review-congrats/prop-types';\nimport ReviewCorrectionPopinPropTypes from '../../../molecule/review-correction-popin/prop-types';\nimport ReviewBackgroundPropTypes from '../../../atom/review-background/prop-types';\nimport ReviewHeader from '../../../organism/review-header/prop-types';\nimport AnswerPropTypes from '../../../molecule/answer/prop-types';\n\nconst NextSlideProp = PropTypes.shape({\n hidden: PropTypes.bool,\n position: PropTypes.number,\n // 'unstack' | 'restack'\n animationType: PropTypes.string,\n // 'success' | 'failure'\n isCorrect: PropTypes.string,\n endReview: PropTypes.bool,\n questionText: PropTypes.string,\n answerUI: AnswerPropTypes\n});\n\nconst SlideProp = PropTypes.shape({\n ...NextSlideProp.props,\n nextContent: NextSlideProp\n});\n\nconst StepItemProp = PropTypes.shape({\n current: PropTypes.bool,\n icon: PropTypes.string,\n value: PropTypes.string\n});\n\nexport const SlidesReviewPropTypes = {\n headerProps: PropTypes.shape(omit('steps', ReviewHeader.propTypes)),\n reviewBackgroundAriaLabel: ReviewBackgroundPropTypes['aria-label'],\n validate: PropTypes.shape({\n label: PropTypes.string\n }),\n slides: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: SlideProp,\n 1: SlideProp,\n 2: SlideProp,\n 3: SlideProp,\n 4: SlideProp\n }),\n finishedSlides: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: PropTypes.bool,\n 1: PropTypes.bool,\n 2: PropTypes.bool,\n 3: PropTypes.bool,\n 4: PropTypes.bool\n }),\n stepItems: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: StepItemProp,\n 1: StepItemProp,\n 2: StepItemProp,\n 3: StepItemProp,\n 4: StepItemProp\n }),\n // 'finished' | 'ongoing'\n reviewStatus: PropTypes.string,\n correctionPopinProps: PropTypes.shape({\n // ---------------\n klf: ReviewCorrectionPopinPropTypes.klf,\n information: ReviewCorrectionPopinPropTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n successLabel: ReviewCorrectionPopinPropTypes.resultLabel,\n failureLabel: ReviewCorrectionPopinPropTypes.resultLabel\n }),\n congratsProps: PropTypes.shape(ReviewCongratsPropTypes),\n progression: PropTypes.shape({\n slideNumber: PropTypes.number,\n // 'success' | 'failure'\n isCorrect: PropTypes.bool,\n // 'successExitNode' | 'failExitNode'\n exitNode: PropTypes.string,\n nextContent: PropTypes.shape({\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(AnswerPropTypes)\n })\n }),\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};\n\nexport const SlidePropTypes = {\n slideNumber: PropTypes.number,\n slides: SlidesReviewPropTypes.slides,\n primarySkinColor: PropTypes.string,\n validate: SlidesReviewPropTypes.validate,\n finishedSlides: SlidesReviewPropTypes.finishedSlides,\n finishedSlidesSize: PropTypes.number,\n correctionPopinProps: SlidesReviewPropTypes.correctionPopinProps,\n // ---------------\n // Dispatchers\n validateSlide: SlidesReviewPropTypes.validateSlide,\n updateSlidesOnNext: SlidesReviewPropTypes.updateSlidesOnNext,\n updateReviewStatus: SlidesReviewPropTypes.updateReviewStatus,\n updateStepItemsOnNext: SlidesReviewPropTypes.updateStepItemsOnNext,\n progression: SlidesReviewPropTypes.progression\n};\n\nexport const StackedSlidesPropTypes = omit('slideNumber', SlidePropTypes);\n"],"file":"prop-types.js"}