@coorpacademy/components 10.22.8 → 10.22.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/es/atom/choice/index.native.js +6 -3
- package/es/atom/choice/index.native.js.map +1 -1
- package/es/molecule/cm-popin/index.js +4 -2
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/questions/mobile/draggable/index.native.js +144 -0
- package/es/molecule/questions/mobile/draggable/index.native.js.map +1 -0
- package/es/molecule/questions/mobile/slide/index.native.js +119 -0
- package/es/molecule/questions/mobile/slide/index.native.js.map +1 -0
- package/es/molecule/review-correction-popin/prop-types.js +0 -1
- package/es/molecule/review-correction-popin/prop-types.js.map +1 -1
- package/es/organism/review-congrats/style.css +1 -1
- package/es/organism/review-slide/index.js +194 -0
- package/es/organism/review-slide/index.js.map +1 -0
- package/es/organism/review-slide/prop-types.js +39 -0
- package/es/organism/review-slide/prop-types.js.map +1 -0
- package/es/organism/review-slide/style.css +173 -0
- package/es/organism/review-stacked-slides/index.js +74 -0
- package/es/organism/review-stacked-slides/index.js.map +1 -0
- package/es/organism/review-stacked-slides/prop-types.js +15 -0
- package/es/organism/review-stacked-slides/prop-types.js.map +1 -0
- package/es/organism/review-stacked-slides/style.css +174 -0
- package/es/template/app-review/index.js +7 -8
- package/es/template/app-review/index.js.map +1 -1
- package/es/template/app-review/index.native.js +6 -10
- package/es/template/app-review/index.native.js.map +1 -1
- package/es/template/app-review/player/index.js +36 -0
- package/es/template/app-review/player/index.js.map +1 -0
- package/es/template/app-review/{slides → player}/index.native.js +15 -13
- package/es/template/app-review/player/index.native.js.map +1 -0
- package/es/template/app-review/player/prop-types.js +12 -0
- package/es/template/app-review/player/prop-types.js.map +1 -0
- package/es/template/app-review/player/style.css +41 -0
- package/es/template/app-review/prop-types.js +3 -3
- package/es/template/app-review/prop-types.js.map +1 -1
- package/es/types/styles.d.js +2 -0
- package/es/types/styles.d.js.map +1 -0
- package/es/variables/shadow.js +13 -0
- package/es/variables/shadow.js.map +1 -0
- package/lib/atom/choice/index.native.js +6 -3
- package/lib/atom/choice/index.native.js.map +1 -1
- package/lib/molecule/cm-popin/index.js +4 -2
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/questions/mobile/draggable/index.native.js +161 -0
- package/lib/molecule/questions/mobile/draggable/index.native.js.map +1 -0
- package/lib/molecule/questions/mobile/slide/index.native.js +136 -0
- package/lib/molecule/questions/mobile/slide/index.native.js.map +1 -0
- package/lib/molecule/review-correction-popin/prop-types.js +0 -1
- package/lib/molecule/review-correction-popin/prop-types.js.map +1 -1
- package/lib/organism/review-congrats/style.css +1 -1
- package/lib/organism/review-slide/index.js +217 -0
- package/lib/organism/review-slide/index.js.map +1 -0
- package/lib/organism/review-slide/prop-types.js +52 -0
- package/lib/organism/review-slide/prop-types.js.map +1 -0
- package/lib/organism/review-slide/style.css +173 -0
- package/lib/organism/review-stacked-slides/index.js +90 -0
- package/lib/organism/review-stacked-slides/index.js.map +1 -0
- package/lib/organism/review-stacked-slides/prop-types.js +29 -0
- package/lib/organism/review-stacked-slides/prop-types.js.map +1 -0
- package/lib/organism/review-stacked-slides/style.css +174 -0
- package/lib/template/app-review/index.js +6 -8
- package/lib/template/app-review/index.js.map +1 -1
- package/lib/template/app-review/index.native.js +6 -11
- package/lib/template/app-review/index.native.js.map +1 -1
- package/lib/template/app-review/player/index.js +51 -0
- package/lib/template/app-review/player/index.js.map +1 -0
- package/lib/template/app-review/{slides → player}/index.native.js +14 -12
- package/lib/template/app-review/player/index.native.js.map +1 -0
- package/lib/template/app-review/player/prop-types.js +25 -0
- package/lib/template/app-review/player/prop-types.js.map +1 -0
- package/lib/template/app-review/player/style.css +41 -0
- package/lib/template/app-review/prop-types.js +3 -3
- package/lib/template/app-review/prop-types.js.map +1 -1
- package/lib/types/styles.d.js +2 -0
- package/lib/types/styles.d.js.map +1 -0
- package/lib/variables/shadow.js +18 -0
- package/lib/variables/shadow.js.map +1 -0
- package/package.json +3 -2
- package/es/template/app-review/slides/index.js +0 -352
- package/es/template/app-review/slides/index.js.map +0 -1
- package/es/template/app-review/slides/index.native.js.map +0 -1
- package/es/template/app-review/slides/prop-types.js +0 -111
- package/es/template/app-review/slides/prop-types.js.map +0 -1
- package/es/template/app-review/slides/style.css +0 -409
- package/lib/template/app-review/slides/index.js +0 -385
- package/lib/template/app-review/slides/index.js.map +0 -1
- package/lib/template/app-review/slides/index.native.js.map +0 -1
- package/lib/template/app-review/slides/prop-types.js +0 -131
- package/lib/template/app-review/slides/prop-types.js.map +0 -1
- package/lib/template/app-review/slides/style.css +0 -409
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
@value breakpoints: "../../variables/breakpoints.css";
|
|
2
|
+
@value mobile from breakpoints;
|
|
3
|
+
@value tablet from breakpoints;
|
|
4
|
+
|
|
5
|
+
.stackedSlidesYAxisOverflowContainer {
|
|
6
|
+
width: 100%;
|
|
7
|
+
padding-top: 20px;
|
|
8
|
+
height: 100%;
|
|
9
|
+
min-height: 870px;
|
|
10
|
+
/* --- ie11 fallback --- */
|
|
11
|
+
overflow-y: hidden;
|
|
12
|
+
/* --------------------- */
|
|
13
|
+
overflow-y: clip;
|
|
14
|
+
overflow-x: visible;
|
|
15
|
+
display: flex;
|
|
16
|
+
justify-content: center;
|
|
17
|
+
flex-grow: 1;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.stackedSlidesContainer {
|
|
21
|
+
position: relative;
|
|
22
|
+
padding-top: 20px;
|
|
23
|
+
height: 788px;
|
|
24
|
+
max-width: 1240px;
|
|
25
|
+
width: 85%;
|
|
26
|
+
align-self: center;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.slideBase {
|
|
30
|
+
box-shadow: 0px 4px 58px rgba(0, 0, 0, 0.05);
|
|
31
|
+
background: white;
|
|
32
|
+
height: 706px;
|
|
33
|
+
border-radius: 24px;
|
|
34
|
+
overflow: hidden;
|
|
35
|
+
position: absolute;
|
|
36
|
+
|
|
37
|
+
transition: transform 0.5s ease-in;
|
|
38
|
+
pointer-events: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.slideBase.position0 {
|
|
42
|
+
pointer-events: auto;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.position0 {
|
|
46
|
+
z-index: 50;
|
|
47
|
+
width: 100%;
|
|
48
|
+
transform: translate(0, 0);
|
|
49
|
+
transition: transform 0.5s ease-in;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.position1 {
|
|
53
|
+
z-index: 45;
|
|
54
|
+
width: 98%;
|
|
55
|
+
transform: translate(0.8%, -8px);
|
|
56
|
+
transition: transform 0.5s ease-in;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.position2 {
|
|
60
|
+
z-index: 40;
|
|
61
|
+
width: 96%;
|
|
62
|
+
transform: translate(1.6%, -16px);
|
|
63
|
+
transition: transform 0.5s ease-in;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.position3 {
|
|
67
|
+
z-index: 35;
|
|
68
|
+
width: 94%;
|
|
69
|
+
transform: translate(2.4%, -24px);
|
|
70
|
+
transition: transform 0.5 ease-in;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.position4 {
|
|
74
|
+
z-index: 30;
|
|
75
|
+
width: 92%;
|
|
76
|
+
transform: translate(3.2%, -32px);
|
|
77
|
+
transition: transform 0.5 ease-in;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@keyframes slideOutHideAndSlideIn {
|
|
81
|
+
0% {
|
|
82
|
+
width: 100%;
|
|
83
|
+
z-index: 55;
|
|
84
|
+
transform: translate(0, 0);
|
|
85
|
+
}
|
|
86
|
+
50% {
|
|
87
|
+
width: 100%;
|
|
88
|
+
z-index: 50;
|
|
89
|
+
transform: translate(0, 1000px);
|
|
90
|
+
opacity: 1;
|
|
91
|
+
}
|
|
92
|
+
51% {
|
|
93
|
+
z-index: 30;
|
|
94
|
+
opacity: 0;
|
|
95
|
+
}
|
|
96
|
+
100% {
|
|
97
|
+
z-index: 30;
|
|
98
|
+
transform: translate(3.2%, -32px);
|
|
99
|
+
opacity: 0;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
@keyframes slideOutAndIn {
|
|
104
|
+
0% {
|
|
105
|
+
z-index: 55;
|
|
106
|
+
transform: translate(0, 0);
|
|
107
|
+
}
|
|
108
|
+
50% {
|
|
109
|
+
width: 100%;
|
|
110
|
+
z-index: 50;
|
|
111
|
+
transform: translate(0, 1000px);
|
|
112
|
+
}
|
|
113
|
+
60% {
|
|
114
|
+
width: 92%;
|
|
115
|
+
z-index: 30;
|
|
116
|
+
transform: translate(3.2%, 900px);
|
|
117
|
+
}
|
|
118
|
+
100% {
|
|
119
|
+
z-index: 30;
|
|
120
|
+
width: 92%;
|
|
121
|
+
transform: translate(3.2%, -32px);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.slideOutHideAndIn {
|
|
126
|
+
pointer-events: none;
|
|
127
|
+
animation: slideOutHideAndSlideIn 3s ease forwards;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.slideOutAndIn {
|
|
131
|
+
pointer-events: none;
|
|
132
|
+
animation: slideOutAndIn 3s ease forwards;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.hiddenSlide {
|
|
136
|
+
display: none;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
@keyframes slideOut {
|
|
140
|
+
0% {}
|
|
141
|
+
90% {
|
|
142
|
+
transform: translate(0, 1000px);
|
|
143
|
+
}
|
|
144
|
+
100% {
|
|
145
|
+
transform: scale(0);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.endReview {
|
|
150
|
+
pointer-events: none;
|
|
151
|
+
animation: slideOut 2.5s ease forwards;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
@media tablet {
|
|
155
|
+
.stackedSlidesContainer {
|
|
156
|
+
height: 638px;
|
|
157
|
+
max-width: 960px;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.slideBase {
|
|
161
|
+
height: 606px;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
@media mobile {
|
|
166
|
+
.stackedSlidesContainer {
|
|
167
|
+
height: 670px;
|
|
168
|
+
max-width: 335px;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.slideBase {
|
|
172
|
+
height: 654px;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
@@ -6,8 +6,8 @@ import React from 'react';
|
|
|
6
6
|
import Loader from '../../atom/loader';
|
|
7
7
|
import Onboarding from './onboarding';
|
|
8
8
|
import Skills from './skills';
|
|
9
|
-
import
|
|
10
|
-
import propTypes, { ViewNames } from './prop-types';
|
|
9
|
+
import Player from './player';
|
|
10
|
+
import propTypes, { ViewNames } from './prop-types';
|
|
11
11
|
|
|
12
12
|
const AppReview = (_ref) => {
|
|
13
13
|
let {
|
|
@@ -16,24 +16,23 @@ const AppReview = (_ref) => {
|
|
|
16
16
|
skills,
|
|
17
17
|
slides
|
|
18
18
|
} = _ref,
|
|
19
|
-
|
|
19
|
+
dispatchers = _objectWithoutPropertiesLoose(_ref, ["viewName", "onboarding", "skills", "slides"]);
|
|
20
20
|
|
|
21
21
|
switch (viewName) {
|
|
22
22
|
case ViewNames.skills:
|
|
23
|
-
return /*#__PURE__*/React.createElement(Skills, _extends({}, skills,
|
|
23
|
+
return /*#__PURE__*/React.createElement(Skills, _extends({}, skills, dispatchers));
|
|
24
24
|
|
|
25
25
|
case ViewNames.onboarding:
|
|
26
|
-
return /*#__PURE__*/React.createElement(Onboarding, _extends({}, onboarding,
|
|
26
|
+
return /*#__PURE__*/React.createElement(Onboarding, _extends({}, onboarding, dispatchers));
|
|
27
27
|
|
|
28
28
|
case ViewNames.slides:
|
|
29
|
-
return /*#__PURE__*/React.createElement(
|
|
29
|
+
return /*#__PURE__*/React.createElement(Player, _extends({}, slides, dispatchers));
|
|
30
30
|
|
|
31
31
|
default:
|
|
32
32
|
return /*#__PURE__*/React.createElement(Loader, null);
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
AppReview.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
|
|
37
|
-
|
|
36
|
+
AppReview.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
|
|
38
37
|
export default AppReview;
|
|
39
38
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/template/app-review/index.js"],"names":["React","Loader","Onboarding","Skills","
|
|
1
|
+
{"version":3,"sources":["../../../src/template/app-review/index.js"],"names":["React","Loader","Onboarding","Skills","Player","propTypes","ViewNames","AppReview","viewName","onboarding","skills","slides","dispatchers"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,SAAP,IAAmBC,SAAnB,QAAmC,cAAnC;;AAEA,MAAMC,SAAS,GAAG,UAA4D;AAAA,MAA3D;AAACC,IAAAA,QAAD;AAAWC,IAAAA,UAAX;AAAuBC,IAAAA,MAAvB;AAA+BC,IAAAA;AAA/B,GAA2D;AAAA,MAAjBC,WAAiB;;AAC5E,UAAQJ,QAAR;AACE,SAAKF,SAAS,CAACI,MAAf;AACE,0BAAO,oBAAC,MAAD,eAAYA,MAAZ,EAAwBE,WAAxB,EAAP;;AACF,SAAKN,SAAS,CAACG,UAAf;AACE,0BAAO,oBAAC,UAAD,eAAgBA,UAAhB,EAAgCG,WAAhC,EAAP;;AACF,SAAKN,SAAS,CAACK,MAAf;AACE,0BAAO,oBAAC,MAAD,eAAYA,MAAZ,EAAwBC,WAAxB,EAAP;;AACF;AACE,0BAAO,oBAAC,MAAD,OAAP;AARJ;AAUD,CAXD;;AAaAL,SAAS,CAACF,SAAV,2CAAsBA,SAAtB;AAEA,eAAeE,SAAf","sourcesContent":["import React from 'react';\nimport Loader from '../../atom/loader';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Player from './player';\nimport propTypes, {ViewNames} from './prop-types';\n\nconst AppReview = ({viewName, onboarding, skills, slides, ...dispatchers}) => {\n switch (viewName) {\n case ViewNames.skills:\n return <Skills {...skills} {...dispatchers} />;\n case ViewNames.onboarding:\n return <Onboarding {...onboarding} {...dispatchers} />;\n case ViewNames.slides:\n return <Player {...slides} {...dispatchers} />;\n default:\n return <Loader />;\n }\n};\n\nAppReview.propTypes = propTypes;\n\nexport default AppReview;\n"],"file":"index.js"}
|
|
@@ -5,15 +5,14 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
5
5
|
import React, { useEffect } from 'react';
|
|
6
6
|
import { Text, StyleSheet, View, BackHandler } from 'react-native';
|
|
7
7
|
import propTypes, { ViewNames } from './prop-types';
|
|
8
|
-
import
|
|
9
|
-
|
|
8
|
+
import Player from './player';
|
|
10
9
|
const styles = StyleSheet.create({
|
|
11
10
|
rootView: {
|
|
12
11
|
flex: 1,
|
|
13
12
|
alignItems: 'center',
|
|
14
13
|
justifyContent: 'center'
|
|
15
14
|
}
|
|
16
|
-
});
|
|
15
|
+
});
|
|
17
16
|
|
|
18
17
|
const Switch = (_ref) => {
|
|
19
18
|
let {
|
|
@@ -30,13 +29,12 @@ const Switch = (_ref) => {
|
|
|
30
29
|
return /*#__PURE__*/React.createElement(Text, null, "view onboarding");
|
|
31
30
|
|
|
32
31
|
case ViewNames.slides:
|
|
33
|
-
return /*#__PURE__*/React.createElement(
|
|
32
|
+
return /*#__PURE__*/React.createElement(Player, _extends({}, slides, dispachers));
|
|
34
33
|
|
|
35
34
|
default:
|
|
36
35
|
return /*#__PURE__*/React.createElement(Text, null, "view (none selected)");
|
|
37
36
|
}
|
|
38
|
-
};
|
|
39
|
-
|
|
37
|
+
};
|
|
40
38
|
|
|
41
39
|
const AppReview = props => {
|
|
42
40
|
const {
|
|
@@ -55,11 +53,9 @@ const AppReview = props => {
|
|
|
55
53
|
return /*#__PURE__*/React.createElement(View, {
|
|
56
54
|
style: styles.rootView
|
|
57
55
|
}, /*#__PURE__*/React.createElement(Switch, props));
|
|
58
|
-
};
|
|
59
|
-
|
|
56
|
+
};
|
|
60
57
|
|
|
61
58
|
AppReview.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
|
|
62
|
-
Switch.propTypes = process.env.NODE_ENV !== "production" ? AppReview.propTypes : {};
|
|
63
|
-
|
|
59
|
+
Switch.propTypes = process.env.NODE_ENV !== "production" ? AppReview.propTypes : {};
|
|
64
60
|
export default AppReview;
|
|
65
61
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["React","useEffect","Text","StyleSheet","View","BackHandler","propTypes","ViewNames","
|
|
1
|
+
{"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["React","useEffect","Text","StyleSheet","View","BackHandler","propTypes","ViewNames","Player","styles","create","rootView","flex","alignItems","justifyContent","Switch","viewName","slides","dispachers","home","onboarding","AppReview","props","navigateBack","backAction","backHandler","addEventListener","remove"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAeC,SAAf,QAA+B,OAA/B;AACA,SAAQC,IAAR,EAAcC,UAAd,EAA0BC,IAA1B,EAAgCC,WAAhC,QAAkD,cAAlD;AACA,OAAOC,SAAP,IAAmBC,SAAnB,QAAmC,cAAnC;AACA,OAAOC,MAAP,MAAmB,UAAnB;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;;AAQA,MAAMC,MAAM,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AACxE,UAAQF,QAAR;AACE,SAAKT,SAAS,CAACY,IAAf;AACE,0BAAO,oBAAC,IAAD,oBAAP;;AACF,SAAKZ,SAAS,CAACa,UAAf;AACE,0BAAO,oBAAC,IAAD,0BAAP;;AACF,SAAKb,SAAS,CAACU,MAAf;AACE,0BAAO,oBAAC,MAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,oBAAC,IAAD,+BAAP;AARJ;AAUD,CAXD;;AAaA,MAAMG,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA;AAAD,MAAiBD,KAAvB;AAEArB,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMuB,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,EAAEd,MAAM,CAACE;AAApB,kBACE,oBAAC,MAAD,EAAYW,KAAZ,CADF,CADF;AAKD,CApBD;;AAsBAD,SAAS,CAACf,SAAV,2CAAsBA,SAAtB;AACAS,MAAM,CAACT,SAAP,2CAAmBe,SAAS,CAACf,SAA7B;AAEA,eAAee,SAAf","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, View, BackHandler} from 'react-native';\nimport propTypes, {ViewNames} from './prop-types';\nimport Player from './player';\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\n\nconst Switch = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n switch (viewName) {\n case ViewNames.home:\n return <Text>view home</Text>;\n case ViewNames.onboarding:\n return <Text>view onboarding</Text>;\n case ViewNames.slides:\n return <Player {...slides} {...dispachers} />;\n default:\n return <Text>view (none selected)</Text>;\n }\n};\n\nconst AppReview = props => {\n const {navigateBack} = props;\n\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 <Switch {...props} />\n </View>\n );\n};\n\nAppReview.propTypes = propTypes;\nSwitch.propTypes = AppReview.propTypes;\n\nexport default AppReview;\n"],"file":"index.native.js"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import isNil from 'lodash/fp/isNil';
|
|
3
|
+
import ReviewBackground from '../../../atom/review-background';
|
|
4
|
+
import ReviewCongrats from '../../../organism/review-congrats';
|
|
5
|
+
import ReviewHeader from '../../../organism/review-header';
|
|
6
|
+
import StackedSlides from '../../../organism/review-stacked-slides';
|
|
7
|
+
import style from './style.css';
|
|
8
|
+
import { PlayerReviewPropTypes } from './prop-types';
|
|
9
|
+
|
|
10
|
+
const PlayerReview = ({
|
|
11
|
+
header,
|
|
12
|
+
stack,
|
|
13
|
+
reviewBackgroundAriaLabel,
|
|
14
|
+
congratsProps
|
|
15
|
+
}) => {
|
|
16
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
17
|
+
key: "review-player-container",
|
|
18
|
+
"data-name": "review-player-container",
|
|
19
|
+
className: style.playerReviewContainer
|
|
20
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
21
|
+
key: "player-background-container",
|
|
22
|
+
className: style.playerBackground
|
|
23
|
+
}, /*#__PURE__*/React.createElement(ReviewBackground, {
|
|
24
|
+
"aria-label": reviewBackgroundAriaLabel
|
|
25
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
26
|
+
key: "review-header-wrapper",
|
|
27
|
+
className: style.reviewHeaderContainer
|
|
28
|
+
}, /*#__PURE__*/React.createElement(ReviewHeader, header)), /*#__PURE__*/React.createElement(StackedSlides, stack), isNil(congratsProps) ? null : /*#__PURE__*/React.createElement("div", {
|
|
29
|
+
className: style.congrats,
|
|
30
|
+
"data-name": "congrats-container"
|
|
31
|
+
}, /*#__PURE__*/React.createElement(ReviewCongrats, congratsProps)));
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
PlayerReview.propTypes = process.env.NODE_ENV !== "production" ? PlayerReviewPropTypes : {};
|
|
35
|
+
export default PlayerReview;
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/player/index.js"],"names":["React","isNil","ReviewBackground","ReviewCongrats","ReviewHeader","StackedSlides","style","PlayerReviewPropTypes","PlayerReview","header","stack","reviewBackgroundAriaLabel","congratsProps","playerReviewContainer","playerBackground","reviewHeaderContainer","congrats","propTypes"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,gBAAP,MAA6B,iCAA7B;AACA,OAAOC,cAAP,MAA2B,mCAA3B;AACA,OAAOC,YAAP,MAAyB,iCAAzB;AACA,OAAOC,aAAP,MAA0B,yCAA1B;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,SAAQC,qBAAR,QAAoC,cAApC;;AAEA,MAAMC,YAAY,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA,KAAT;AAAgBC,EAAAA,yBAAhB;AAA2CC,EAAAA;AAA3C,CAAD,KAA+D;AAClF,sBACE;AACE,IAAA,GAAG,EAAC,yBADN;AAEE,iBAAU,yBAFZ;AAGE,IAAA,SAAS,EAAEN,KAAK,CAACO;AAHnB,kBAKE;AAAK,IAAA,GAAG,EAAC,6BAAT;AAAuC,IAAA,SAAS,EAAEP,KAAK,CAACQ;AAAxD,kBACE,oBAAC,gBAAD;AAAkB,kBAAYH;AAA9B,IADF,CALF,eASE;AAAK,IAAA,GAAG,EAAC,uBAAT;AAAiC,IAAA,SAAS,EAAEL,KAAK,CAACS;AAAlD,kBACE,oBAAC,YAAD,EAAkBN,MAAlB,CADF,CATF,eAaE,oBAAC,aAAD,EAAmBC,KAAnB,CAbF,EAeGT,KAAK,CAACW,aAAD,CAAL,GAAuB,IAAvB,gBACC;AAAK,IAAA,SAAS,EAAEN,KAAK,CAACU,QAAtB;AAAgC,iBAAU;AAA1C,kBACE,oBAAC,cAAD,EAAoBJ,aAApB,CADF,CAhBJ,CADF;AAuBD,CAxBD;;AA0BAJ,YAAY,CAACS,SAAb,2CAAyBV,qBAAzB;AAEA,eAAeC,YAAf","sourcesContent":["import React from 'react';\nimport isNil from 'lodash/fp/isNil';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewHeader from '../../../organism/review-header';\nimport StackedSlides from '../../../organism/review-stacked-slides';\nimport style from './style.css';\nimport {PlayerReviewPropTypes} from './prop-types';\n\nconst PlayerReview = ({header, stack, reviewBackgroundAriaLabel, congratsProps}) => {\n return (\n <div\n key=\"review-player-container\"\n data-name=\"review-player-container\"\n className={style.playerReviewContainer}\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 {...header} />\n </div>\n\n <StackedSlides {...stack} />\n\n {isNil(congratsProps) ? null : (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n )}\n </div>\n );\n};\n\nPlayerReview.propTypes = PlayerReviewPropTypes;\n\nexport default PlayerReview;\n"],"file":"index.js"}
|
|
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import { View, StyleSheet, Text, useWindowDimensions, Button } from 'react-native';
|
|
4
4
|
import FreeText from '../../../molecule/questions/free-text';
|
|
5
5
|
import { useTemplateContext } from '../template-context';
|
|
6
|
-
import {
|
|
6
|
+
import { PlayerReviewPropTypes } from './prop-types'; // import theme from '../../../modules/theme';
|
|
7
7
|
// import translations from '../../../translations';
|
|
8
8
|
// import {BrandThemeContext} from '../../../app-shared/components/brand-theme-provider';
|
|
9
9
|
// import Button from '../../../app-shared/components/button';
|
|
@@ -128,8 +128,7 @@ const choicesStyle = StyleSheet.create({
|
|
|
128
128
|
justifyContent: 'center',
|
|
129
129
|
alignItems: 'center'
|
|
130
130
|
}
|
|
131
|
-
});
|
|
132
|
-
|
|
131
|
+
});
|
|
133
132
|
/* {choices.map(({text, selected = false}: _Choice_) => { */
|
|
134
133
|
|
|
135
134
|
const Choices = ({
|
|
@@ -154,7 +153,7 @@ Choices.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
154
153
|
text: PropTypes.text,
|
|
155
154
|
selected: PropTypes.bool
|
|
156
155
|
})
|
|
157
|
-
} : {};
|
|
156
|
+
} : {};
|
|
158
157
|
|
|
159
158
|
const Slide = props => {
|
|
160
159
|
const {
|
|
@@ -224,16 +223,20 @@ const Slide = props => {
|
|
|
224
223
|
onPress: validateSlide,
|
|
225
224
|
testID: `button-quizzer-validate`
|
|
226
225
|
}, validateLabel));
|
|
227
|
-
}; //
|
|
228
|
-
// const Slides = ({slide}: Props) => {
|
|
226
|
+
}; // const Slides = ({slide}: Props) => {
|
|
229
227
|
|
|
230
228
|
|
|
231
|
-
const Slides =
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
}
|
|
229
|
+
const Slides = props => {
|
|
230
|
+
const {
|
|
231
|
+
stack
|
|
232
|
+
} = props;
|
|
233
|
+
const {
|
|
234
|
+
slides,
|
|
235
|
+
validateButton: validateSlide
|
|
236
|
+
} = stack;
|
|
237
|
+
|
|
235
238
|
if (!slides) {
|
|
236
|
-
return null;
|
|
239
|
+
return /*#__PURE__*/React.createElement(View, null);
|
|
237
240
|
}
|
|
238
241
|
|
|
239
242
|
return /*#__PURE__*/React.createElement(View, {
|
|
@@ -246,7 +249,6 @@ const Slides = ({
|
|
|
246
249
|
}));
|
|
247
250
|
};
|
|
248
251
|
|
|
249
|
-
Slides.propTypes = process.env.NODE_ENV !== "production" ?
|
|
250
|
-
|
|
252
|
+
Slides.propTypes = process.env.NODE_ENV !== "production" ? PlayerReviewPropTypes : {};
|
|
251
253
|
export default Slides;
|
|
252
254
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/player/index.native.tsx"],"names":["React","PropTypes","View","StyleSheet","Text","useWindowDimensions","Button","FreeText","useTemplateContext","PlayerReviewPropTypes","quizzerStyle","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","arrayOf","bool","Slide","props","validateSlide","slideStyle","validateLabel","templateContext","analytics","answerUI","isDisabled","value","model","type","onChange","Slides","stack","slides","validateButton"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, StyleSheet, Text, useWindowDimensions, Button} from 'react-native';\n\nimport FreeText from '../../../molecule/questions/free-text';\nimport {useTemplateContext} from '../template-context';\nimport {PlayerReviewPropTypes} from './prop-types';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import {BrandThemeContext} from '../../../app-shared/components/brand-theme-provider';\n// import Button from '../../../app-shared/components/button';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n\n// export type _Choice_ = {\n// text?: string,\n// selected: boolean\n// };\n\n// export type _Slide_ = {\n// category: string,\n// question: string,\n// instruction: string,\n// type: 'multiSelection' | 'singleSelection' | 'trueOrFalse',\n// choices?: _Choice_[]\n// };\n\n// interface Props {\n// slide: _Slide_;\n// num: number;\n// }\n\nconst quizzerStyle = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n // paddingTop: HEADER_HEIGHT + 20, @todo with props\n // backgroundColor: theme.colors.white, @todo with props\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n});\n\nconst SLIDE_HEIGHT = () => useWindowDimensions().height * 0.75;\n\n// const creatSlideStyle = (num: number) =>\nconst creatSlideStyle = (num, width, height) =>\n StyleSheet.create({\n slide: {\n position: 'absolute',\n top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,\n flex: 1,\n backgroundColor: '#fff',\n // backgroundColor: theme.colors.white, @todo with props and useEffect\n height: SLIDE_HEIGHT(),\n width: width - 40 - num * 8,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n },\n category: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.text.primary, @todo with props\n // marginBottom: theme.spacing.tiny, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n question: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n // color: theme.colors.text.primary, @todo with props\n textAlign: 'center'\n },\n instruction: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.gray.medium, @todo with props\n // marginBottom: theme.spacing.base, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n button: {\n width: 287,\n height: 52,\n borderRadius: 7\n // marginTop: theme.spacing.base @todo with props\n }\n });\n\nconst createOptionStyle = selected => {\n // const brandTheme = React.useContext(BrandThemeContext); @todo with props\n\n return StyleSheet.create({\n box: {\n width: '100%',\n // https://stackoverflow.com/a/66561995/959219\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.2,\n shadowRadius: 16,\n elevation: 8,\n // backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props\n padding: 12,\n marginTop: 4,\n marginBottom: 4,\n borderRadius: 8\n },\n text: {\n fontSize: 15,\n fontWeight: 'bold',\n lineHeight: 24,\n // color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props\n textAlign: 'center'\n }\n });\n};\n\nconst choicesStyle = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\n/* {choices.map(({text, selected = false}: _Choice_) => { */\nconst Choices = ({choices = []}) => (\n <View style={choicesStyle.container}>\n {choices.map(({text, selected = false}, index) => {\n const optionStyle = createOptionStyle(selected);\n return (\n <View style={optionStyle.box} key={`choice-${index}`}>\n <Text style={optionStyle.text}>\n {text} {selected}\n </Text>\n </View>\n );\n })}\n </View>\n);\n\nChoices.propTypes = {\n choices: PropTypes.arrayOf({\n text: PropTypes.text,\n selected: PropTypes.bool\n })\n};\n\nconst Slide = props => {\n const {validateSlide, slide, num} = props;\n const {width, height} = useWindowDimensions();\n\n const slideStyle = creatSlideStyle(num, width, height);\n const validateLabel = '__validate'; // translations.validate\n\n const templateContext = useTemplateContext();\n const {analytics} = templateContext;\n\n const {\n answerUI: {isDisabled = false, value = '', model: {type, onChange}} = {\n isDisabled: false,\n value: '',\n model: {type: 'freeText', onChange: () => null}\n }\n } = slide;\n\n switch (type) {\n case 'freeText': {\n return (\n <View style={slideStyle.slide}>\n <FreeText\n isDisabled={isDisabled}\n onChange={onChange}\n value={value}\n testID=\"free-text\"\n questionType=\"basic\"\n analytics={analytics}\n />\n </View>\n );\n }\n default:\n }\n\n return (\n <View style={slideStyle.slide}>\n <Text style={slideStyle.category}>{num}</Text>\n <Text style={slideStyle.question}>{slide.question}</Text>\n <Text style={slideStyle.instruction}>{slide.instruction}</Text>\n\n <Choices choices={slide.choices} />\n\n <Button style={slideStyle.button} onPress={validateSlide} testID={`button-quizzer-validate`}>\n {validateLabel}\n </Button>\n </View>\n );\n};\n\n// const Slides = ({slide}: Props) => {\nconst Slides = props => {\n const {stack} = props;\n const {slides, validateButton: validateSlide} = stack;\n if (!slides) {\n return <View />;\n }\n\n return (\n <View style={quizzerStyle.container}>\n <Slide validateSlide={validateSlide} slide={slides[0]} num={0} key={`slide-${0}`} />\n {/* {slides.reverse().map((_slide, index) => (\n <Slide\n validateSlide={validateSlide}\n slide={_slide}\n num={slides.length - index}\n key={`slide-${index}`}\n />\n ))} */}\n </View>\n );\n};\n\nSlides.propTypes = PlayerReviewPropTypes;\n\nexport default Slides;\n"],"file":"index.native.js"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import ReviewCongratsPropTypes from '../../../organism/review-congrats/prop-types';
|
|
3
|
+
import ReviewBackgroundPropTypes from '../../../atom/review-background/prop-types';
|
|
4
|
+
import ReviewHeaderPropTypes from '../../../organism/review-header/prop-types';
|
|
5
|
+
import StackedSlidesPropTypes from '../../../organism/review-stacked-slides/prop-types';
|
|
6
|
+
export const PlayerReviewPropTypes = {
|
|
7
|
+
header: PropTypes.shape(ReviewHeaderPropTypes),
|
|
8
|
+
stack: PropTypes.shape(StackedSlidesPropTypes),
|
|
9
|
+
reviewBackgroundAriaLabel: ReviewBackgroundPropTypes['aria-label'],
|
|
10
|
+
congratsProps: PropTypes.shape(ReviewCongratsPropTypes)
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=prop-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/player/prop-types.js"],"names":["PropTypes","ReviewCongratsPropTypes","ReviewBackgroundPropTypes","ReviewHeaderPropTypes","StackedSlidesPropTypes","PlayerReviewPropTypes","header","shape","stack","reviewBackgroundAriaLabel","congratsProps"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,OAAOC,uBAAP,MAAoC,8CAApC;AACA,OAAOC,yBAAP,MAAsC,4CAAtC;AACA,OAAOC,qBAAP,MAAkC,4CAAlC;AACA,OAAOC,sBAAP,MAAmC,oDAAnC;AAEA,OAAO,MAAMC,qBAAqB,GAAG;AACnCC,EAAAA,MAAM,EAAEN,SAAS,CAACO,KAAV,CAAgBJ,qBAAhB,CAD2B;AAEnCK,EAAAA,KAAK,EAAER,SAAS,CAACO,KAAV,CAAgBH,sBAAhB,CAF4B;AAGnCK,EAAAA,yBAAyB,EAAEP,yBAAyB,CAAC,YAAD,CAHjB;AAInCQ,EAAAA,aAAa,EAAEV,SAAS,CAACO,KAAV,CAAgBN,uBAAhB;AAJoB,CAA9B","sourcesContent":["import PropTypes from 'prop-types';\n\nimport ReviewCongratsPropTypes from '../../../organism/review-congrats/prop-types';\nimport ReviewBackgroundPropTypes from '../../../atom/review-background/prop-types';\nimport ReviewHeaderPropTypes from '../../../organism/review-header/prop-types';\nimport StackedSlidesPropTypes from '../../../organism/review-stacked-slides/prop-types';\n\nexport const PlayerReviewPropTypes = {\n header: PropTypes.shape(ReviewHeaderPropTypes),\n stack: PropTypes.shape(StackedSlidesPropTypes),\n reviewBackgroundAriaLabel: ReviewBackgroundPropTypes['aria-label'],\n congratsProps: PropTypes.shape(ReviewCongratsPropTypes)\n};\n"],"file":"prop-types.js"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
.playerReviewContainer {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
/* --- ie11 fallback --- */
|
|
6
|
+
height: 100%;
|
|
7
|
+
/* --------------------- */
|
|
8
|
+
height: min-content;
|
|
9
|
+
min-height: 832px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
mozilla specific styling
|
|
14
|
+
- supports min-content but it calculates dynamic
|
|
15
|
+
flex child height differently than chromium browsers
|
|
16
|
+
*/
|
|
17
|
+
@supports (-moz-appearance:none) {
|
|
18
|
+
div.playerReviewContainer {
|
|
19
|
+
height: 100%;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.reviewHeaderContainer {
|
|
24
|
+
width: 100%;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.congrats {
|
|
28
|
+
width: 100%;
|
|
29
|
+
height: 100%;
|
|
30
|
+
min-height: 832px;
|
|
31
|
+
position: absolute;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.playerBackground {
|
|
35
|
+
position: absolute;
|
|
36
|
+
display: block;
|
|
37
|
+
height: 100%;
|
|
38
|
+
min-height: 120vh;
|
|
39
|
+
top: 0;
|
|
40
|
+
left: 0;
|
|
41
|
+
}
|
|
@@ -4,17 +4,17 @@ import PropTypes from 'prop-types';
|
|
|
4
4
|
import keys from 'lodash/fp/keys';
|
|
5
5
|
import Onboarding from './onboarding';
|
|
6
6
|
import Skills from './skills';
|
|
7
|
-
import
|
|
7
|
+
import Player from './player';
|
|
8
8
|
export const ViewNames = {
|
|
9
9
|
skills: 'skills',
|
|
10
10
|
onboarding: 'onboarding',
|
|
11
11
|
slides: 'slides',
|
|
12
|
-
|
|
12
|
+
loader: 'loader'
|
|
13
13
|
};
|
|
14
14
|
export default {
|
|
15
15
|
viewName: PropTypes.oneOf(keys(ViewNames)),
|
|
16
16
|
onboarding: PropTypes.shape(_extends({}, Onboarding.propTypes)),
|
|
17
17
|
skills: PropTypes.shape(_extends({}, Skills.propTypes)),
|
|
18
|
-
slides: PropTypes.shape(_extends({},
|
|
18
|
+
slides: PropTypes.shape(_extends({}, Player.propTypes))
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=prop-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/template/app-review/prop-types.js"],"names":["PropTypes","keys","Onboarding","Skills","
|
|
1
|
+
{"version":3,"sources":["../../../src/template/app-review/prop-types.js"],"names":["PropTypes","keys","Onboarding","Skills","Player","ViewNames","skills","onboarding","slides","loader","viewName","oneOf","shape","propTypes"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,MAAM,EAAE,QADe;AAEvBC,EAAAA,UAAU,EAAE,YAFW;AAGvBC,EAAAA,MAAM,EAAE,QAHe;AAIvBC,EAAAA,MAAM,EAAE;AAJe,CAAlB;AAOP,eAAe;AACbC,EAAAA,QAAQ,EAAEV,SAAS,CAACW,KAAV,CAAgBV,IAAI,CAACI,SAAD,CAApB,CADG;AAEbE,EAAAA,UAAU,EAAEP,SAAS,CAACY,KAAV,cAAoBV,UAAU,CAACW,SAA/B,EAFC;AAGbP,EAAAA,MAAM,EAAEN,SAAS,CAACY,KAAV,cAAoBT,MAAM,CAACU,SAA3B,EAHK;AAIbL,EAAAA,MAAM,EAAER,SAAS,CAACY,KAAV,cAAoBR,MAAM,CAACS,SAA3B;AAJK,CAAf","sourcesContent":["import PropTypes from 'prop-types';\nimport keys from 'lodash/fp/keys';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Player from './player';\n\nexport const ViewNames = {\n skills: 'skills',\n onboarding: 'onboarding',\n slides: 'slides',\n loader: 'loader'\n};\n\nexport default {\n viewName: PropTypes.oneOf(keys(ViewNames)),\n onboarding: PropTypes.shape({...Onboarding.propTypes}),\n skills: PropTypes.shape({...Skills.propTypes}),\n slides: PropTypes.shape({...Player.propTypes})\n};\n"],"file":"prop-types.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"styles.d.js"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const BOX_STYLE = {
|
|
2
|
+
shadowColor: '#14171A',
|
|
3
|
+
shadowOpacity: 0.15,
|
|
4
|
+
shadowOffset: {
|
|
5
|
+
width: 0,
|
|
6
|
+
height: 0
|
|
7
|
+
},
|
|
8
|
+
shadowRadius: 8,
|
|
9
|
+
elevation: 4,
|
|
10
|
+
backgroundColor: 'rgba(0,0,0,0.015)' // fix shadow not visible bug on android
|
|
11
|
+
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=shadow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/variables/shadow.ts"],"names":["BOX_STYLE","shadowColor","shadowOpacity","shadowOffset","width","height","shadowRadius","elevation","backgroundColor"],"mappings":"AASA,OAAO,MAAMA,SAAmB,GAAG;AACjCC,EAAAA,WAAW,EAAE,SADoB;AAEjCC,EAAAA,aAAa,EAAE,IAFkB;AAGjCC,EAAAA,YAAY,EAAE;AAACC,IAAAA,KAAK,EAAE,CAAR;AAAWC,IAAAA,MAAM,EAAE;AAAnB,GAHmB;AAIjCC,EAAAA,YAAY,EAAE,CAJmB;AAKjCC,EAAAA,SAAS,EAAE,CALsB;AAMjCC,EAAAA,eAAe,EAAE,mBANgB,CAMI;;AANJ,CAA5B","sourcesContent":["export type BoxStyle = {\n shadowColor: string;\n shadowOpacity: number;\n shadowOffset: {width: number; height: number};\n shadowRadius: number;\n elevation: number;\n backgroundColor: string;\n};\n\nexport const BOX_STYLE: BoxStyle = {\n shadowColor: '#14171A',\n shadowOpacity: 0.15,\n shadowOffset: {width: 0, height: 0},\n shadowRadius: 8,\n elevation: 4,\n backgroundColor: 'rgba(0,0,0,0.015)' // fix shadow not visible bug on android\n};\n"],"file":"shadow.js"}
|
|
@@ -39,7 +39,6 @@ const createStyleSheet = theme => _reactNative.StyleSheet.create({
|
|
|
39
39
|
minHeight: 80,
|
|
40
40
|
backgroundColor: theme.colors.white,
|
|
41
41
|
borderRadius: theme.radius.regular,
|
|
42
|
-
overflow: 'hidden',
|
|
43
42
|
flexDirection: 'row',
|
|
44
43
|
alignItems: 'stretch'
|
|
45
44
|
},
|
|
@@ -69,7 +68,10 @@ const createStyleSheet = theme => _reactNative.StyleSheet.create({
|
|
|
69
68
|
},
|
|
70
69
|
imageContainer: {
|
|
71
70
|
height: '100%',
|
|
72
|
-
width: '25%'
|
|
71
|
+
width: '25%',
|
|
72
|
+
overflow: 'hidden',
|
|
73
|
+
borderTopLeftRadius: theme.radius.regular,
|
|
74
|
+
borderBottomLeftRadius: theme.radius.regular
|
|
73
75
|
},
|
|
74
76
|
image: {
|
|
75
77
|
flex: 1
|
|
@@ -106,7 +108,8 @@ const Choice = ({
|
|
|
106
108
|
const selectedStyle = brandTheme && {
|
|
107
109
|
backgroundColor: brandTheme.colors.primary,
|
|
108
110
|
borderColor: brandTheme.colors.primary,
|
|
109
|
-
|
|
111
|
+
borderTopRightRadius: theme.radius.regular,
|
|
112
|
+
borderBottomRightRadius: theme.radius.regular
|
|
110
113
|
};
|
|
111
114
|
const selectedSuffix = prefixTestID && isSelected ? '-selected' : '';
|
|
112
115
|
const mediaType = media && media.type && media.type === 'img' && media.type.toLowerCase();
|