@coorpacademy/components 10.19.1 → 10.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/es/atom/lottie-wrapper/index.js +1 -1
  2. package/es/atom/lottie-wrapper/index.js.map +1 -1
  3. package/es/atom/review-background/style.css +1 -1
  4. package/es/atom/review-header-step-item/index.js +7 -3
  5. package/es/atom/review-header-step-item/index.js.map +1 -1
  6. package/es/atom/review-header-step-item/style.css +7 -10
  7. package/es/atom/review-presentation/index.js +10 -2
  8. package/es/atom/review-presentation/index.js.map +1 -1
  9. package/es/molecule/review-correction-popin/index.js +5 -2
  10. package/es/molecule/review-correction-popin/index.js.map +1 -1
  11. package/es/molecule/review-correction-popin/test/fixtures/wrong.js +1 -0
  12. package/es/molecule/review-correction-popin/test/fixtures/wrong.js.map +1 -1
  13. package/es/molecule/review-header-steps/index.js +3 -3
  14. package/es/molecule/review-header-steps/index.js.map +1 -1
  15. package/es/organism/review-congrats/index.js +3 -1
  16. package/es/organism/review-congrats/index.js.map +1 -1
  17. package/es/organism/review-congrats/style.css +0 -1
  18. package/es/organism/review-header/index.js +3 -3
  19. package/es/organism/review-header/index.js.map +1 -1
  20. package/es/organism/review-header/style.css +1 -1
  21. package/es/organism/review-header/test/fixtures/all-questions-ok.js +3 -1
  22. package/es/organism/review-header/test/fixtures/all-questions-ok.js.map +1 -1
  23. package/es/template/slides-review/index.js +421 -0
  24. package/es/template/slides-review/index.js.map +1 -0
  25. package/es/template/slides-review/style.css +371 -0
  26. package/es/template/slides-review/test/fixtures/failure.js +37 -0
  27. package/es/template/slides-review/test/fixtures/failure.js.map +1 -0
  28. package/es/template/slides-review/test/fixtures/only-once-on-last-slide.js +29 -0
  29. package/es/template/slides-review/test/fixtures/only-once-on-last-slide.js.map +1 -0
  30. package/es/template/slides-review/test/fixtures/random-responses.js +34 -0
  31. package/es/template/slides-review/test/fixtures/random-responses.js.map +1 -0
  32. package/es/template/slides-review/test/fixtures/success.js +54 -0
  33. package/es/template/slides-review/test/fixtures/success.js.map +1 -0
  34. package/es/template/slides-review/test/fixtures.js +19 -0
  35. package/es/template/slides-review/test/fixtures.js.map +1 -0
  36. package/es/template/slides-review/test/slides-review.js +147 -0
  37. package/es/template/slides-review/test/slides-review.js.map +1 -0
  38. package/lib/atom/lottie-wrapper/index.js +1 -1
  39. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  40. package/lib/atom/review-background/style.css +1 -1
  41. package/lib/atom/review-header-step-item/index.js +10 -4
  42. package/lib/atom/review-header-step-item/index.js.map +1 -1
  43. package/lib/atom/review-header-step-item/style.css +7 -10
  44. package/lib/atom/review-presentation/index.js +10 -2
  45. package/lib/atom/review-presentation/index.js.map +1 -1
  46. package/lib/molecule/review-correction-popin/index.js +5 -2
  47. package/lib/molecule/review-correction-popin/index.js.map +1 -1
  48. package/lib/molecule/review-correction-popin/test/fixtures/wrong.js +1 -0
  49. package/lib/molecule/review-correction-popin/test/fixtures/wrong.js.map +1 -1
  50. package/lib/molecule/review-header-steps/index.js +3 -3
  51. package/lib/molecule/review-header-steps/index.js.map +1 -1
  52. package/lib/organism/review-congrats/index.js +3 -1
  53. package/lib/organism/review-congrats/index.js.map +1 -1
  54. package/lib/organism/review-congrats/style.css +0 -1
  55. package/lib/organism/review-header/index.js.map +1 -1
  56. package/lib/organism/review-header/style.css +1 -1
  57. package/lib/organism/review-header/test/fixtures/all-questions-ok.js +3 -1
  58. package/lib/organism/review-header/test/fixtures/all-questions-ok.js.map +1 -1
  59. package/lib/template/slides-review/index.js +447 -0
  60. package/lib/template/slides-review/index.js.map +1 -0
  61. package/lib/template/slides-review/style.css +371 -0
  62. package/lib/template/slides-review/test/fixtures/failure.js +50 -0
  63. package/lib/template/slides-review/test/fixtures/failure.js.map +1 -0
  64. package/lib/template/slides-review/test/fixtures/only-once-on-last-slide.js +39 -0
  65. package/lib/template/slides-review/test/fixtures/only-once-on-last-slide.js.map +1 -0
  66. package/lib/template/slides-review/test/fixtures/random-responses.js +45 -0
  67. package/lib/template/slides-review/test/fixtures/random-responses.js.map +1 -0
  68. package/lib/template/slides-review/test/fixtures/success.js +67 -0
  69. package/lib/template/slides-review/test/fixtures/success.js.map +1 -0
  70. package/lib/template/slides-review/test/fixtures.js +31 -0
  71. package/lib/template/slides-review/test/fixtures.js.map +1 -0
  72. package/lib/template/slides-review/test/slides-review.js +163 -0
  73. package/lib/template/slides-review/test/slides-review.js.map +1 -0
  74. package/package.json +2 -2
@@ -0,0 +1,371 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value black from colors;
3
+ @value white from colors;
4
+ @value cm_blue_900 from colors;
5
+ @value cm_grey_400 from colors;
6
+ @value breakpoints: "../../variables/breakpoints.css";
7
+ @value mobile from breakpoints;
8
+ @value tablet from breakpoints;
9
+
10
+ .slidesRevisionContainer {
11
+ position: relative;
12
+ display: flex;
13
+ flex-direction: column;
14
+ overflow: hidden;
15
+ height: 100vh;
16
+ }
17
+
18
+ .fontBase {
19
+ font-family: "Gilroy";
20
+ user-select: none;
21
+ }
22
+
23
+ .stackedSlidesContainer {
24
+ position: relative;
25
+ margin-top: 50px;
26
+ height: 738px;
27
+ max-width: 1240px;
28
+ width: 85%;
29
+ align-self: center;
30
+ }
31
+
32
+ .congrats {
33
+ width: 100%;
34
+ height: 100%;
35
+ position: absolute;
36
+ }
37
+
38
+ .playerBackground {
39
+ position: absolute;
40
+ height: 100vh;
41
+ top: 0;
42
+ left: 0;
43
+ }
44
+
45
+ .slideBase {
46
+ box-shadow: 0px 4px 77px rgba(0, 0, 0, 0.05);
47
+ background: white;
48
+ height: 706px;
49
+ border-radius: 24px;
50
+ overflow: hidden;
51
+ position: absolute;
52
+
53
+ align-items: center;
54
+ display: flex;
55
+ flex-direction: column;
56
+ justify-content: flex-start;
57
+ transition: transform 0.5s ease-in;
58
+ pointer-events: none;
59
+ }
60
+
61
+
62
+ .position0 {
63
+ z-index: 50;
64
+ width: 100%;
65
+ transform: translate(0, 0);
66
+ transition: transform 0.5s ease-in;
67
+ }
68
+
69
+ .slideBase.position0 {
70
+ pointer-events: auto;
71
+ }
72
+
73
+ .position1 {
74
+ z-index: 45;
75
+ width: 98%;
76
+ transform: translate(0.8%, -8px);
77
+ transition: transform 0.5s ease-in;
78
+ }
79
+
80
+ .position2 {
81
+ z-index: 40;
82
+ width: 96%;
83
+ transform: translate(1.6%, -16px);
84
+ transition: transform 0.5s ease-in;
85
+ }
86
+
87
+ .position3 {
88
+ z-index: 35;
89
+ width: 94%;
90
+ transform: translate(2.4%, -24px);
91
+ transition: transform 0.5 ease-in;
92
+ }
93
+
94
+ .position4 {
95
+ z-index: 30;
96
+ width: 92%;
97
+ transform: translate(3.2%, -32px);
98
+ transition: transform 0.5 ease-in;
99
+ }
100
+
101
+ @keyframes slideOutHideAndSlideIn {
102
+ 0% {
103
+ z-index: 55;
104
+ transform: translate(0, 0);
105
+ }
106
+ 50% {
107
+ z-index: 50;
108
+ transform: translate(0, 1000px);
109
+ opacity: 1;
110
+ }
111
+ 51% {
112
+ z-index: 30;
113
+ opacity: 0;
114
+ }
115
+ 100% {
116
+ z-index: 30;
117
+ transform: translate(3.2%, -32px);
118
+ opacity: 0;
119
+ }
120
+ }
121
+
122
+ @keyframes slideOutAndIn {
123
+ 0% {
124
+ z-index: 55;
125
+ transform: translate(0, 0);
126
+ }
127
+ 50% {
128
+ width: 100%;
129
+ z-index: 50;
130
+ transform: translate(0, 1000px);
131
+ }
132
+ 60% {
133
+ width: 92%;
134
+ z-index: 30;
135
+ transform: translate(3.2%, 900px);
136
+ }
137
+ 100% {
138
+ z-index: 30;
139
+ width: 92%;
140
+ transform: translate(3.2%, -32px);
141
+ }
142
+ }
143
+
144
+ .slideOutHideAndIn {
145
+ pointer-events: none;
146
+ animation: slideOutHideAndSlideIn 3s ease forwards;
147
+ }
148
+
149
+ .slideOutAndIn {
150
+ pointer-events: none;
151
+ animation: slideOutAndIn 3s ease forwards;
152
+ }
153
+
154
+ .hiddenSlide {
155
+ display: none;
156
+ }
157
+
158
+
159
+ .slideContentContainer {
160
+ margin-top: 15px;
161
+ height: 563px;
162
+ display: flex;
163
+ justify-items: center;
164
+ align-items: center;
165
+ flex-direction: column;
166
+ overflow-y: auto;
167
+ position: relative;
168
+ }
169
+
170
+ /* ie fallback */
171
+ _:-ms-fullscreen, :root .slideContentContainer {
172
+ width: 100%;
173
+ }
174
+
175
+ .validateButtonWrapper {
176
+ position: absolute;
177
+ bottom: 64px;
178
+ background-color: black;
179
+ border-radius: 7px;
180
+ min-width: 250px;
181
+ width: min-content;
182
+ }
183
+
184
+ /* ie fallback */
185
+ _:-ms-fullscreen, :root .validateButtonWrapper {
186
+ width: 300px;
187
+ left: 40%;
188
+ right: 40%;
189
+ }
190
+
191
+ .answerContainer {
192
+ width: 95%;
193
+ display: flex;
194
+ justify-content: center;
195
+ height: 100%;
196
+ /*
197
+ To break wrappers layout (to enclose large answers in the scroll bar), works like
198
+ display: contents for this use case but w ie11 support
199
+ */
200
+ display: grid;
201
+ }
202
+
203
+ .question {
204
+ composes: fontBase;
205
+ font-size: 20px;
206
+ font-weight: bold;
207
+ color: cm_blue_900;
208
+ text-align: center;
209
+ margin: 24px 0 4px;
210
+ max-width: 70%;
211
+ width: 100%;
212
+ padding: 0 9px;
213
+ box-sizing: border-box;
214
+ }
215
+
216
+ .questionOrigin {
217
+ composes: fontBase;
218
+ font-size: 15px;
219
+ color: cm_blue_900;
220
+ margin-top: 49px;
221
+ text-align: center;
222
+ }
223
+
224
+ .questionOrigin:empty:after {
225
+ content: "\a0";
226
+ }
227
+
228
+ .help {
229
+ composes: fontBase;
230
+ font-size: 15px;
231
+ color: cm_grey_400;
232
+ flex-grow: 0.1;
233
+ margin: 4px 0 10px;
234
+ text-align: center;
235
+ max-width: 70%;
236
+ width: 100%;
237
+ }
238
+
239
+ /* to keep the content space even if the help label is empty */
240
+ .help:empty:after {
241
+ content: "\a0";
242
+ }
243
+
244
+ @keyframes popInAnimation {
245
+ from {
246
+ transform: translate3d(0, 200px, 0);
247
+ }
248
+ to {
249
+ transform: translate3d(0, -40px, 0);
250
+ }
251
+ }
252
+
253
+ .correctionPopinWrapper {
254
+ position: absolute;
255
+ bottom: 0px;
256
+ border-radius: 7px;
257
+ margin: 0 15px;
258
+ width: 95%;
259
+ animation: popInAnimation 0.5s ease-out forwards;
260
+ }
261
+
262
+ /* ie fallback */
263
+ _:-ms-fullscreen, :root .correctionPopinWrapper {
264
+ left: 15px;
265
+ }
266
+
267
+ @keyframes popOutAnimation {
268
+ from {
269
+ transform: translate3d(0, -40px, 0);
270
+ }
271
+ to {
272
+ transform: translate3d(0, 200px, 0);
273
+ }
274
+ }
275
+
276
+ .hiddenCorrectionPopinWrapper {
277
+ composes: correctionPopinWrapper;
278
+ animation: popOutAnimation 0.5s ease-out forwards;
279
+ }
280
+
281
+ .validateButton {
282
+ color: white;
283
+ transition: opacity 0.25s ease-in;
284
+ }
285
+
286
+ .validateButton:hover {
287
+ opacity: 0.8;
288
+ }
289
+
290
+ @keyframes slideOut {
291
+ 0% {}
292
+ 90% {
293
+ transform: translate(0, 1000px);
294
+ }
295
+ 100% {
296
+ transform: scale(0);
297
+ }
298
+ }
299
+
300
+ .endReview {
301
+ pointer-events: none;
302
+ animation: slideOut 2.5s ease forwards;
303
+ }
304
+
305
+ @media tablet {
306
+ .stackedSlidesContainer {
307
+ height: 638px;
308
+ max-width: 960px;
309
+ }
310
+
311
+ .slideBase {
312
+ height: 606px;
313
+ }
314
+
315
+ .slideContentContainer {
316
+ height: 473px;
317
+ }
318
+
319
+
320
+ @keyframes popInAnimation {
321
+ from {
322
+ transform: translate3d(0, 400px, 0);
323
+ }
324
+ to {
325
+ transform: translate3d(0, -40px, 0);
326
+ }
327
+ }
328
+
329
+ @keyframes popOutAnimation {
330
+ from {
331
+ transform: translate3d(0, -40px, 0);
332
+ }
333
+ to {
334
+ transform: translate3d(0, 400px, 0);
335
+ }
336
+ }
337
+ }
338
+
339
+ @media mobile {
340
+ .stackedSlidesContainer {
341
+ height: 670px;
342
+ max-width: 335px;
343
+ }
344
+
345
+ .slideBase {
346
+ height: 654px;
347
+ }
348
+
349
+ .slideContentContainer {
350
+ height: 511px;
351
+ }
352
+
353
+
354
+ @keyframes popInAnimation {
355
+ from {
356
+ transform: translate3d(0, 500px, 0);
357
+ }
358
+ to {
359
+ transform: translate3d(0, -40px, 0);
360
+ }
361
+ }
362
+
363
+ @keyframes popOutAnimation {
364
+ from {
365
+ transform: translate3d(0, -40px, 0);
366
+ }
367
+ to {
368
+ transform: translate3d(0, 500px, 0);
369
+ }
370
+ }
371
+ }
@@ -0,0 +1,37 @@
1
+ import headerProps from '../../../../organism/review-header/test/fixtures/no-answered-question';
2
+ import congratsProps from '../../../../organism/review-congrats/test/fixtures/default';
3
+ import AnswerQCMDrag from '../../../../molecule/answer/test/fixtures/qcm-drag';
4
+ import AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';
5
+ import { correctionPopinProps } from './success';
6
+ const qcmDrag = AnswerQCMDrag.props;
7
+ const qcmGraphic = AnswerQCMGraphic.props;
8
+
9
+ const onValidateClick = () => {
10
+ console.log('onValidateClick');
11
+ return Promise.resolve({
12
+ validationResult: 'failure',
13
+ nextSlide: {
14
+ question: 'Other question?',
15
+ answer: qcmGraphic
16
+ },
17
+ endReview: false
18
+ });
19
+ };
20
+
21
+ export default {
22
+ props: {
23
+ headerProps: headerProps.props,
24
+ reviewBackgroundAriaLabel: 'review BG Aria',
25
+ validate: {
26
+ label: 'Validate',
27
+ onClick: onValidateClick
28
+ },
29
+ firstSlide: {
30
+ question: 'Hey there! ......dramatic suspense..... ready to answer?',
31
+ answer: qcmDrag
32
+ },
33
+ correctionPopinProps,
34
+ congratsProps: congratsProps.props
35
+ }
36
+ };
37
+ //# sourceMappingURL=failure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/template/slides-review/test/fixtures/failure.js"],"names":["headerProps","congratsProps","AnswerQCMDrag","AnswerQCMGraphic","correctionPopinProps","qcmDrag","props","qcmGraphic","onValidateClick","console","log","Promise","resolve","validationResult","nextSlide","question","answer","endReview","reviewBackgroundAriaLabel","validate","label","onClick","firstSlide"],"mappings":"AAAA,OAAOA,WAAP,MAAwB,uEAAxB;AACA,OAAOC,aAAP,MAA0B,4DAA1B;AACA,OAAOC,aAAP,MAA0B,oDAA1B;AACA,OAAOC,gBAAP,MAA6B,uDAA7B;AACA,SAAQC,oBAAR,QAAmC,WAAnC;AAEA,MAAMC,OAAO,GAAGH,aAAa,CAACI,KAA9B;AACA,MAAMC,UAAU,GAAGJ,gBAAgB,CAACG,KAApC;;AAEA,MAAME,eAAe,GAAG,MAAM;AAC5BC,EAAAA,OAAO,CAACC,GAAR,CAAY,iBAAZ;AACA,SAAOC,OAAO,CAACC,OAAR,CAAgB;AACrBC,IAAAA,gBAAgB,EAAE,SADG;AAErBC,IAAAA,SAAS,EAAE;AAACC,MAAAA,QAAQ,EAAE,iBAAX;AAA8BC,MAAAA,MAAM,EAAET;AAAtC,KAFU;AAGrBU,IAAAA,SAAS,EAAE;AAHU,GAAhB,CAAP;AAKD,CAPD;;AASA,eAAe;AACbX,EAAAA,KAAK,EAAE;AACLN,IAAAA,WAAW,EAAEA,WAAW,CAACM,KADpB;AAELY,IAAAA,yBAAyB,EAAE,gBAFtB;AAGLC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,KAAK,EAAE,UADC;AAERC,MAAAA,OAAO,EAAEb;AAFD,KAHL;AAOLc,IAAAA,UAAU,EAAE;AACVP,MAAAA,QAAQ,EAAE,0DADA;AAEVC,MAAAA,MAAM,EAAEX;AAFE,KAPP;AAWLD,IAAAA,oBAXK;AAYLH,IAAAA,aAAa,EAAEA,aAAa,CAACK;AAZxB;AADM,CAAf","sourcesContent":["import headerProps from '../../../../organism/review-header/test/fixtures/no-answered-question';\nimport congratsProps from '../../../../organism/review-congrats/test/fixtures/default';\nimport AnswerQCMDrag from '../../../../molecule/answer/test/fixtures/qcm-drag';\nimport AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';\nimport {correctionPopinProps} from './success';\n\nconst qcmDrag = AnswerQCMDrag.props;\nconst qcmGraphic = AnswerQCMGraphic.props;\n\nconst onValidateClick = () => {\n console.log('onValidateClick');\n return Promise.resolve({\n validationResult: 'failure',\n nextSlide: {question: 'Other question?', answer: qcmGraphic},\n endReview: false\n });\n};\n\nexport default {\n props: {\n headerProps: headerProps.props,\n reviewBackgroundAriaLabel: 'review BG Aria',\n validate: {\n label: 'Validate',\n onClick: onValidateClick\n },\n firstSlide: {\n question: 'Hey there! ......dramatic suspense..... ready to answer?',\n answer: qcmDrag\n },\n correctionPopinProps,\n congratsProps: congratsProps.props\n }\n};\n"],"file":"failure.js"}
@@ -0,0 +1,29 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';
4
+ import successFixture from './success';
5
+ const qcmGraphic = AnswerQCMGraphic.props;
6
+ let numberOfTries = 0;
7
+
8
+ const onValidateClick = () => {
9
+ numberOfTries = numberOfTries + 1;
10
+ console.log('onValidateClick');
11
+ return Promise.resolve({
12
+ validationResult: numberOfTries === 5 ? 'failure' : 'success',
13
+ nextSlide: {
14
+ question: 'other question?',
15
+ answer: qcmGraphic
16
+ },
17
+ endReview: false
18
+ });
19
+ };
20
+
21
+ export default {
22
+ props: _extends(_extends({}, successFixture.props), {}, {
23
+ validate: {
24
+ label: 'Validate',
25
+ onClick: onValidateClick
26
+ }
27
+ })
28
+ };
29
+ //# sourceMappingURL=only-once-on-last-slide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/template/slides-review/test/fixtures/only-once-on-last-slide.js"],"names":["AnswerQCMGraphic","successFixture","qcmGraphic","props","numberOfTries","onValidateClick","console","log","Promise","resolve","validationResult","nextSlide","question","answer","endReview","validate","label","onClick"],"mappings":";;AAAA,OAAOA,gBAAP,MAA6B,uDAA7B;AACA,OAAOC,cAAP,MAA2B,WAA3B;AAEA,MAAMC,UAAU,GAAGF,gBAAgB,CAACG,KAApC;AAEA,IAAIC,aAAa,GAAG,CAApB;;AACA,MAAMC,eAAe,GAAG,MAAM;AAC5BD,EAAAA,aAAa,GAAGA,aAAa,GAAG,CAAhC;AACAE,EAAAA,OAAO,CAACC,GAAR,CAAY,iBAAZ;AACA,SAAOC,OAAO,CAACC,OAAR,CAAgB;AACrBC,IAAAA,gBAAgB,EAAEN,aAAa,KAAK,CAAlB,GAAsB,SAAtB,GAAkC,SAD/B;AAErBO,IAAAA,SAAS,EAAE;AAACC,MAAAA,QAAQ,EAAE,iBAAX;AAA8BC,MAAAA,MAAM,EAAEX;AAAtC,KAFU;AAGrBY,IAAAA,SAAS,EAAE;AAHU,GAAhB,CAAP;AAKD,CARD;;AAUA,eAAe;AACbX,EAAAA,KAAK,wBACAF,cAAc,CAACE,KADf;AAEHY,IAAAA,QAAQ,EAAE;AACRC,MAAAA,KAAK,EAAE,UADC;AAERC,MAAAA,OAAO,EAAEZ;AAFD;AAFP;AADQ,CAAf","sourcesContent":["import AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';\nimport successFixture from './success';\n\nconst qcmGraphic = AnswerQCMGraphic.props;\n\nlet numberOfTries = 0;\nconst onValidateClick = () => {\n numberOfTries = numberOfTries + 1;\n console.log('onValidateClick');\n return Promise.resolve({\n validationResult: numberOfTries === 5 ? 'failure' : 'success',\n nextSlide: {question: 'other question?', answer: qcmGraphic},\n endReview: false\n });\n};\n\nexport default {\n props: {\n ...successFixture.props,\n validate: {\n label: 'Validate',\n onClick: onValidateClick\n }\n }\n};\n"],"file":"only-once-on-last-slide.js"}
@@ -0,0 +1,34 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import random from 'lodash/fp/random';
4
+ import AnswerQCMDrag from '../../../../molecule/answer/test/fixtures/qcm-drag';
5
+ import AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';
6
+ import successFixture from './success';
7
+
8
+ const getRandomResult = () => random(0, 100) >= 45 ? 'success' : 'failure';
9
+
10
+ const qcmDrag = AnswerQCMDrag.props;
11
+ const qcmGraphic = AnswerQCMGraphic.props;
12
+
13
+ const onValidateClick = () => {
14
+ console.log('onValidateClick');
15
+ const result = getRandomResult();
16
+ return Promise.resolve({
17
+ validationResult: result,
18
+ nextSlide: {
19
+ question: 'Other question?',
20
+ answer: result === 'success' ? qcmDrag : qcmGraphic
21
+ },
22
+ endReview: false
23
+ });
24
+ };
25
+
26
+ export default {
27
+ props: _extends(_extends({}, successFixture.props), {}, {
28
+ validate: {
29
+ label: 'Validate',
30
+ onClick: onValidateClick
31
+ }
32
+ })
33
+ };
34
+ //# sourceMappingURL=random-responses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/template/slides-review/test/fixtures/random-responses.js"],"names":["random","AnswerQCMDrag","AnswerQCMGraphic","successFixture","getRandomResult","qcmDrag","props","qcmGraphic","onValidateClick","console","log","result","Promise","resolve","validationResult","nextSlide","question","answer","endReview","validate","label","onClick"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,kBAAnB;AACA,OAAOC,aAAP,MAA0B,oDAA1B;AACA,OAAOC,gBAAP,MAA6B,uDAA7B;AACA,OAAOC,cAAP,MAA2B,WAA3B;;AAEA,MAAMC,eAAe,GAAG,MAAOJ,MAAM,CAAC,CAAD,EAAI,GAAJ,CAAN,IAAkB,EAAlB,GAAuB,SAAvB,GAAmC,SAAlE;;AAEA,MAAMK,OAAO,GAAGJ,aAAa,CAACK,KAA9B;AACA,MAAMC,UAAU,GAAGL,gBAAgB,CAACI,KAApC;;AAEA,MAAME,eAAe,GAAG,MAAM;AAC5BC,EAAAA,OAAO,CAACC,GAAR,CAAY,iBAAZ;AACA,QAAMC,MAAM,GAAGP,eAAe,EAA9B;AACA,SAAOQ,OAAO,CAACC,OAAR,CAAgB;AACrBC,IAAAA,gBAAgB,EAAEH,MADG;AAErBI,IAAAA,SAAS,EAAE;AAACC,MAAAA,QAAQ,EAAE,iBAAX;AAA8BC,MAAAA,MAAM,EAAEN,MAAM,KAAK,SAAX,GAAuBN,OAAvB,GAAiCE;AAAvE,KAFU;AAGrBW,IAAAA,SAAS,EAAE;AAHU,GAAhB,CAAP;AAKD,CARD;;AAUA,eAAe;AACbZ,EAAAA,KAAK,wBACAH,cAAc,CAACG,KADf;AAEHa,IAAAA,QAAQ,EAAE;AACRC,MAAAA,KAAK,EAAE,UADC;AAERC,MAAAA,OAAO,EAAEb;AAFD;AAFP;AADQ,CAAf","sourcesContent":["import random from 'lodash/fp/random';\nimport AnswerQCMDrag from '../../../../molecule/answer/test/fixtures/qcm-drag';\nimport AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';\nimport successFixture from './success';\n\nconst getRandomResult = () => (random(0, 100) >= 45 ? 'success' : 'failure');\n\nconst qcmDrag = AnswerQCMDrag.props;\nconst qcmGraphic = AnswerQCMGraphic.props;\n\nconst onValidateClick = () => {\n console.log('onValidateClick');\n const result = getRandomResult();\n return Promise.resolve({\n validationResult: result,\n nextSlide: {question: 'Other question?', answer: result === 'success' ? qcmDrag : qcmGraphic},\n endReview: false\n });\n};\n\nexport default {\n props: {\n ...successFixture.props,\n validate: {\n label: 'Validate',\n onClick: onValidateClick\n }\n }\n};\n"],"file":"random-responses.js"}
@@ -0,0 +1,54 @@
1
+ import headerProps from '../../../../organism/review-header/test/fixtures/no-answered-question';
2
+ import congratsProps from '../../../../organism/review-congrats/test/fixtures/default';
3
+ import AnswerQCMDrag from '../../../../molecule/answer/test/fixtures/qcm-drag';
4
+ import AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';
5
+ const qcmDrag = AnswerQCMDrag.props;
6
+ const qcmGraphic = AnswerQCMGraphic.props;
7
+
8
+ const onValidateClick = () => {
9
+ console.log('onValidateClick');
10
+ return Promise.resolve({
11
+ validationResult: 'success',
12
+ nextSlide: {
13
+ question: 'other question?',
14
+ answer: qcmGraphic
15
+ },
16
+ endReview: false
17
+ });
18
+ };
19
+
20
+ export const correctionPopinProps = {
21
+ klf: {
22
+ label: 'Key learning factor',
23
+ tooltip: 'Some tooltip info.',
24
+ onClick: () => {
25
+ console.log('klf onClick');
26
+ }
27
+ },
28
+ information: {
29
+ label: 'Key learning factor',
30
+ message: 'info msg'
31
+ },
32
+ next: {
33
+ label: 'Next'
34
+ },
35
+ successLabel: 'CORRECT ANSWER',
36
+ failureLabel: 'WRONG ANSWER'
37
+ };
38
+ export default {
39
+ props: {
40
+ headerProps: headerProps.props,
41
+ reviewBackgroundAriaLabel: 'review BG Aria',
42
+ validate: {
43
+ label: 'Validate',
44
+ onClick: onValidateClick
45
+ },
46
+ firstSlide: {
47
+ question: 'Hey there, .....suspense.... ready to select some answers?',
48
+ answer: qcmDrag
49
+ },
50
+ correctionPopinProps,
51
+ congratsProps: congratsProps.props
52
+ }
53
+ };
54
+ //# sourceMappingURL=success.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/template/slides-review/test/fixtures/success.js"],"names":["headerProps","congratsProps","AnswerQCMDrag","AnswerQCMGraphic","qcmDrag","props","qcmGraphic","onValidateClick","console","log","Promise","resolve","validationResult","nextSlide","question","answer","endReview","correctionPopinProps","klf","label","tooltip","onClick","information","message","next","successLabel","failureLabel","reviewBackgroundAriaLabel","validate","firstSlide"],"mappings":"AAAA,OAAOA,WAAP,MAAwB,uEAAxB;AACA,OAAOC,aAAP,MAA0B,4DAA1B;AACA,OAAOC,aAAP,MAA0B,oDAA1B;AACA,OAAOC,gBAAP,MAA6B,uDAA7B;AAEA,MAAMC,OAAO,GAAGF,aAAa,CAACG,KAA9B;AACA,MAAMC,UAAU,GAAGH,gBAAgB,CAACE,KAApC;;AAEA,MAAME,eAAe,GAAG,MAAM;AAC5BC,EAAAA,OAAO,CAACC,GAAR,CAAY,iBAAZ;AACA,SAAOC,OAAO,CAACC,OAAR,CAAgB;AACrBC,IAAAA,gBAAgB,EAAE,SADG;AAErBC,IAAAA,SAAS,EAAE;AAACC,MAAAA,QAAQ,EAAE,iBAAX;AAA8BC,MAAAA,MAAM,EAAET;AAAtC,KAFU;AAGrBU,IAAAA,SAAS,EAAE;AAHU,GAAhB,CAAP;AAKD,CAPD;;AASA,OAAO,MAAMC,oBAAoB,GAAG;AAClCC,EAAAA,GAAG,EAAE;AACHC,IAAAA,KAAK,EAAE,qBADJ;AAEHC,IAAAA,OAAO,EAAE,oBAFN;AAGHC,IAAAA,OAAO,EAAE,MAAM;AACbb,MAAAA,OAAO,CAACC,GAAR,CAAY,aAAZ;AACD;AALE,GAD6B;AAQlCa,EAAAA,WAAW,EAAE;AACXH,IAAAA,KAAK,EAAE,qBADI;AAEXI,IAAAA,OAAO,EAAE;AAFE,GARqB;AAYlCC,EAAAA,IAAI,EAAE;AACJL,IAAAA,KAAK,EAAE;AADH,GAZ4B;AAelCM,EAAAA,YAAY,EAAE,gBAfoB;AAgBlCC,EAAAA,YAAY,EAAE;AAhBoB,CAA7B;AAmBP,eAAe;AACbrB,EAAAA,KAAK,EAAE;AACLL,IAAAA,WAAW,EAAEA,WAAW,CAACK,KADpB;AAELsB,IAAAA,yBAAyB,EAAE,gBAFtB;AAGLC,IAAAA,QAAQ,EAAE;AACRT,MAAAA,KAAK,EAAE,UADC;AAERE,MAAAA,OAAO,EAAEd;AAFD,KAHL;AAOLsB,IAAAA,UAAU,EAAE;AACVf,MAAAA,QAAQ,EAAE,4DADA;AAEVC,MAAAA,MAAM,EAAEX;AAFE,KAPP;AAWLa,IAAAA,oBAXK;AAYLhB,IAAAA,aAAa,EAAEA,aAAa,CAACI;AAZxB;AADM,CAAf","sourcesContent":["import headerProps from '../../../../organism/review-header/test/fixtures/no-answered-question';\nimport congratsProps from '../../../../organism/review-congrats/test/fixtures/default';\nimport AnswerQCMDrag from '../../../../molecule/answer/test/fixtures/qcm-drag';\nimport AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';\n\nconst qcmDrag = AnswerQCMDrag.props;\nconst qcmGraphic = AnswerQCMGraphic.props;\n\nconst onValidateClick = () => {\n console.log('onValidateClick');\n return Promise.resolve({\n validationResult: 'success',\n nextSlide: {question: 'other question?', answer: qcmGraphic},\n endReview: false\n });\n};\n\nexport const correctionPopinProps = {\n klf: {\n label: 'Key learning factor',\n tooltip: 'Some tooltip info.',\n onClick: () => {\n console.log('klf onClick');\n }\n },\n information: {\n label: 'Key learning factor',\n message: 'info msg'\n },\n next: {\n label: 'Next'\n },\n successLabel: 'CORRECT ANSWER',\n failureLabel: 'WRONG ANSWER'\n};\n\nexport default {\n props: {\n headerProps: headerProps.props,\n reviewBackgroundAriaLabel: 'review BG Aria',\n validate: {\n label: 'Validate',\n onClick: onValidateClick\n },\n firstSlide: {\n question: 'Hey there, .....suspense.... ready to select some answers?',\n answer: qcmDrag\n },\n correctionPopinProps,\n congratsProps: congratsProps.props\n }\n};\n"],"file":"success.js"}
@@ -0,0 +1,19 @@
1
+ import test from 'ava';
2
+ import forEach from 'lodash/forEach';
3
+ import renderComponentMacro from '../../../test/helpers/render-component';
4
+ import TemplateSlidesReview from '..';
5
+ import fixtureFailure from './fixtures/failure';
6
+ import fixtureOnlyOnceOnLastSlide from './fixtures/only-once-on-last-slide';
7
+ import fixtureRandomResponses from './fixtures/random-responses';
8
+ import fixtureSuccess from './fixtures/success';
9
+ test('Template › TemplateSlidesReview > should have valid propTypes', t => {
10
+ t.pass();
11
+ forEach(TemplateSlidesReview.propTypes, (value, key) => {
12
+ t.not(value, undefined, `PropType for "Template.TemplateSlidesReview.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
13
+ });
14
+ });
15
+ test('Template › TemplateSlidesReview › Failure › should be rendered', renderComponentMacro, TemplateSlidesReview, fixtureFailure);
16
+ test('Template › TemplateSlidesReview › OnlyOnceOnLastSlide › should be rendered', renderComponentMacro, TemplateSlidesReview, fixtureOnlyOnceOnLastSlide);
17
+ test('Template › TemplateSlidesReview › RandomResponses › should be rendered', renderComponentMacro, TemplateSlidesReview, fixtureRandomResponses);
18
+ test('Template › TemplateSlidesReview › Success › should be rendered', renderComponentMacro, TemplateSlidesReview, fixtureSuccess);
19
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/slides-review/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","TemplateSlidesReview","fixtureFailure","fixtureOnlyOnceOnLastSlide","fixtureRandomResponses","fixtureSuccess","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,oBAAP,MAAiC,IAAjC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,0BAAP,MAAuC,oCAAvC;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AAEAP,IAAI,CAAC,+DAAD,EAAkEQ,CAAC,IAAI;AACzEA,EAAAA,CAAC,CAACC,IAAF;AACAR,EAAAA,OAAO,CAACE,oBAAoB,CAACO,SAAtB,EAAiC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACtDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,yDAAwDF,GAAI,mEAArF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAZ,IAAI,CAAC,gEAAD,EAAmEE,oBAAnE,EAAyFC,oBAAzF,EAA+GC,cAA/G,CAAJ;AACAJ,IAAI,CAAC,4EAAD,EAA+EE,oBAA/E,EAAqGC,oBAArG,EAA2HE,0BAA3H,CAAJ;AACAL,IAAI,CAAC,wEAAD,EAA2EE,oBAA3E,EAAiGC,oBAAjG,EAAuHG,sBAAvH,CAAJ;AACAN,IAAI,CAAC,gEAAD,EAAmEE,oBAAnE,EAAyFC,oBAAzF,EAA+GI,cAA/G,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport TemplateSlidesReview from '..';\nimport fixtureFailure from './fixtures/failure';\nimport fixtureOnlyOnceOnLastSlide from './fixtures/only-once-on-last-slide';\nimport fixtureRandomResponses from './fixtures/random-responses';\nimport fixtureSuccess from './fixtures/success';\n\ntest('Template › TemplateSlidesReview > should have valid propTypes', t => {\n t.pass();\n forEach(TemplateSlidesReview.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Template.TemplateSlidesReview.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Template › TemplateSlidesReview › Failure › should be rendered', renderComponentMacro, TemplateSlidesReview, fixtureFailure);\ntest('Template › TemplateSlidesReview › OnlyOnceOnLastSlide › should be rendered', renderComponentMacro, TemplateSlidesReview, fixtureOnlyOnceOnLastSlide);\ntest('Template › TemplateSlidesReview › RandomResponses › should be rendered', renderComponentMacro, TemplateSlidesReview, fixtureRandomResponses);\ntest('Template › TemplateSlidesReview › Success › should be rendered', renderComponentMacro, TemplateSlidesReview, fixtureSuccess);\n"],"file":"fixtures.js"}