@coorpacademy/components 10.21.4 → 10.22.3

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 (222) hide show
  1. package/README.md +1 -1
  2. package/es/atom/header-back-button/index.native.js +75 -0
  3. package/es/atom/header-back-button/index.native.js.map +1 -0
  4. package/es/atom/header-back-icon/index.native.js +27 -0
  5. package/es/atom/header-back-icon/index.native.js.map +1 -0
  6. package/es/atom/lottie-wrapper/index.js +2 -24
  7. package/es/atom/lottie-wrapper/index.js.map +1 -1
  8. package/es/atom/lottie-wrapper/prop-types.js +26 -0
  9. package/es/atom/lottie-wrapper/prop-types.js.map +1 -0
  10. package/es/atom/review-background/index.js +2 -4
  11. package/es/atom/review-background/index.js.map +1 -1
  12. package/es/atom/review-background/prop-types.js +5 -0
  13. package/es/atom/review-background/prop-types.js.map +1 -0
  14. package/es/atom/review-header-step-item/index.js +2 -6
  15. package/es/atom/review-header-step-item/index.js.map +1 -1
  16. package/es/atom/review-header-step-item/prop-types.js +7 -0
  17. package/es/atom/review-header-step-item/prop-types.js.map +1 -0
  18. package/es/atom/review-presentation/index.js +2 -15
  19. package/es/atom/review-presentation/index.js.map +1 -1
  20. package/es/atom/review-presentation/prop-types.js +18 -0
  21. package/es/atom/review-presentation/prop-types.js.map +1 -0
  22. package/es/atom/spinner/index.js +1 -0
  23. package/es/atom/spinner/index.js.map +1 -1
  24. package/es/atom/tab/index.js +1 -0
  25. package/es/atom/tab/index.js.map +1 -1
  26. package/es/hoc/touchable/index.native.js +69 -0
  27. package/es/hoc/touchable/index.native.js.map +1 -0
  28. package/es/molecule/answer/index.js +5 -26
  29. package/es/molecule/answer/index.js.map +1 -1
  30. package/es/molecule/answer/prop-types.js +32 -0
  31. package/es/molecule/answer/prop-types.js.map +1 -0
  32. package/es/molecule/dashboard/battle-request-list/index.js +3 -5
  33. package/es/molecule/dashboard/battle-request-list/index.js.map +1 -1
  34. package/es/molecule/dashboard/news-list/index.js +3 -5
  35. package/es/molecule/dashboard/news-list/index.js.map +1 -1
  36. package/es/molecule/dashboard/review-banner/index.js +3 -5
  37. package/es/molecule/dashboard/review-banner/index.js.map +1 -1
  38. package/es/molecule/dashboard/start-battle/index.js +3 -5
  39. package/es/molecule/dashboard/start-battle/index.js.map +1 -1
  40. package/es/molecule/external-content-viewer/index.js +2 -1
  41. package/es/molecule/external-content-viewer/index.js.map +1 -1
  42. package/es/molecule/questions/free-text/index.native.js +87 -0
  43. package/es/molecule/questions/free-text/index.native.js.map +1 -0
  44. package/es/molecule/questions/qcm/index.native.js +50 -0
  45. package/es/molecule/questions/qcm/index.native.js.map +1 -0
  46. package/es/molecule/review-card-congrats/index.js +2 -13
  47. package/es/molecule/review-card-congrats/index.js.map +1 -1
  48. package/es/molecule/review-card-congrats/prop-types.js +15 -0
  49. package/es/molecule/review-card-congrats/prop-types.js.map +1 -0
  50. package/es/molecule/review-correction-popin/index.js +2 -20
  51. package/es/molecule/review-correction-popin/index.js.map +1 -1
  52. package/es/molecule/review-correction-popin/prop-types.js +21 -0
  53. package/es/molecule/review-correction-popin/prop-types.js.map +1 -0
  54. package/es/molecule/review-header-steps/index.js +2 -4
  55. package/es/molecule/review-header-steps/index.js.map +1 -1
  56. package/es/molecule/review-header-steps/prop-types.js +6 -0
  57. package/es/molecule/review-header-steps/prop-types.js.map +1 -0
  58. package/es/molecule/skill-card/index.js +2 -12
  59. package/es/molecule/skill-card/index.js.map +1 -1
  60. package/es/molecule/skill-card/prop-types.js +13 -0
  61. package/es/molecule/skill-card/prop-types.js.map +1 -0
  62. package/es/molecule/video-player/index.js +2 -17
  63. package/es/molecule/video-player/index.js.map +1 -1
  64. package/es/molecule/video-player/jwplayer-prop-types.js +38 -0
  65. package/es/molecule/video-player/jwplayer-prop-types.js.map +1 -0
  66. package/es/molecule/video-player/jwplayer.js +2 -37
  67. package/es/molecule/video-player/jwplayer.js.map +1 -1
  68. package/es/molecule/video-player/prop-types.js +53 -0
  69. package/es/molecule/video-player/prop-types.js.map +1 -0
  70. package/es/organism/review-congrats/index.js +2 -19
  71. package/es/organism/review-congrats/index.js.map +1 -1
  72. package/es/organism/review-congrats/prop-types.js +22 -0
  73. package/es/organism/review-congrats/prop-types.js.map +1 -0
  74. package/es/organism/review-header/index.js +2 -10
  75. package/es/organism/review-header/index.js.map +1 -1
  76. package/es/organism/review-header/prop-types.js +12 -0
  77. package/es/organism/review-header/prop-types.js.map +1 -0
  78. package/es/organism/review-skills/index.js +4 -19
  79. package/es/organism/review-skills/index.js.map +1 -1
  80. package/es/organism/review-skills/prop-types.js +19 -0
  81. package/es/organism/review-skills/prop-types.js.map +1 -0
  82. package/es/template/app-player/loading/index.js +1 -0
  83. package/es/template/app-player/loading/index.js.map +1 -1
  84. package/es/template/app-review/demo-ts/index.js +2 -0
  85. package/es/template/app-review/demo-ts/index.js.map +1 -1
  86. package/es/template/app-review/demo-ts/index.native.js +9 -0
  87. package/es/template/app-review/demo-ts/index.native.js.map +1 -0
  88. package/es/template/app-review/demo-ts/typings.js +7 -0
  89. package/es/template/app-review/demo-ts/typings.js.map +1 -0
  90. package/es/template/app-review/index.js +4 -0
  91. package/es/template/app-review/index.js.map +1 -1
  92. package/es/template/app-review/index.native.js +24 -28
  93. package/es/template/app-review/index.native.js.map +1 -1
  94. package/es/template/app-review/onboarding/index.native.js +2 -2
  95. package/es/template/app-review/onboarding/index.native.js.map +1 -1
  96. package/es/template/app-review/skills/index.native.js +2 -2
  97. package/es/template/app-review/skills/index.native.js.map +1 -1
  98. package/es/template/app-review/slides/index.js +4 -5
  99. package/es/template/app-review/slides/index.js.map +1 -1
  100. package/es/template/app-review/slides/index.native.js +65 -25
  101. package/es/template/app-review/slides/index.native.js.map +1 -1
  102. package/es/template/app-review/slides/prop-types.js +15 -15
  103. package/es/template/app-review/slides/prop-types.js.map +1 -1
  104. package/es/template/app-review/template-context.js +36 -0
  105. package/es/template/app-review/template-context.js.map +1 -0
  106. package/es/variables/analytics.js +22 -0
  107. package/es/variables/analytics.js.map +1 -0
  108. package/es/variables/theme.native.js +65 -0
  109. package/es/variables/theme.native.js.map +1 -0
  110. package/es/variables/vibration.js +10 -0
  111. package/es/variables/vibration.js.map +1 -0
  112. package/lib/atom/header-back-button/index.native.js +96 -0
  113. package/lib/atom/header-back-button/index.native.js.map +1 -0
  114. package/lib/atom/header-back-icon/index.native.js +38 -0
  115. package/lib/atom/header-back-icon/index.native.js.map +1 -0
  116. package/lib/atom/lottie-wrapper/index.js +6 -30
  117. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  118. package/lib/atom/lottie-wrapper/prop-types.js +37 -0
  119. package/lib/atom/lottie-wrapper/prop-types.js.map +1 -0
  120. package/lib/atom/review-background/index.js +3 -5
  121. package/lib/atom/review-background/index.js.map +1 -1
  122. package/lib/atom/review-background/prop-types.js +14 -0
  123. package/lib/atom/review-background/prop-types.js.map +1 -0
  124. package/lib/atom/review-header-step-item/index.js +3 -7
  125. package/lib/atom/review-header-step-item/index.js.map +1 -1
  126. package/lib/atom/review-header-step-item/prop-types.js +16 -0
  127. package/lib/atom/review-header-step-item/prop-types.js.map +1 -0
  128. package/lib/atom/review-presentation/index.js +3 -15
  129. package/lib/atom/review-presentation/index.js.map +1 -1
  130. package/lib/atom/review-presentation/prop-types.js +28 -0
  131. package/lib/atom/review-presentation/prop-types.js.map +1 -0
  132. package/lib/atom/spinner/index.js +1 -0
  133. package/lib/atom/spinner/index.js.map +1 -1
  134. package/lib/atom/tab/index.js +1 -0
  135. package/lib/atom/tab/index.js.map +1 -1
  136. package/lib/hoc/touchable/index.native.js +83 -0
  137. package/lib/hoc/touchable/index.native.js.map +1 -0
  138. package/lib/molecule/answer/index.js +14 -35
  139. package/lib/molecule/answer/index.js.map +1 -1
  140. package/lib/molecule/answer/prop-types.js +49 -0
  141. package/lib/molecule/answer/prop-types.js.map +1 -0
  142. package/lib/molecule/dashboard/battle-request-list/index.js +3 -5
  143. package/lib/molecule/dashboard/battle-request-list/index.js.map +1 -1
  144. package/lib/molecule/dashboard/news-list/index.js +3 -5
  145. package/lib/molecule/dashboard/news-list/index.js.map +1 -1
  146. package/lib/molecule/dashboard/review-banner/index.js +3 -5
  147. package/lib/molecule/dashboard/review-banner/index.js.map +1 -1
  148. package/lib/molecule/dashboard/start-battle/index.js +3 -5
  149. package/lib/molecule/dashboard/start-battle/index.js.map +1 -1
  150. package/lib/molecule/external-content-viewer/index.js +2 -1
  151. package/lib/molecule/external-content-viewer/index.js.map +1 -1
  152. package/lib/molecule/questions/free-text/index.native.js +100 -0
  153. package/lib/molecule/questions/free-text/index.native.js.map +1 -0
  154. package/lib/molecule/questions/qcm/index.native.js +62 -0
  155. package/lib/molecule/questions/qcm/index.native.js.map +1 -0
  156. package/lib/molecule/review-card-congrats/index.js +3 -14
  157. package/lib/molecule/review-card-congrats/index.js.map +1 -1
  158. package/lib/molecule/review-card-congrats/prop-types.js +25 -0
  159. package/lib/molecule/review-card-congrats/prop-types.js.map +1 -0
  160. package/lib/molecule/review-correction-popin/index.js +3 -21
  161. package/lib/molecule/review-correction-popin/index.js.map +1 -1
  162. package/lib/molecule/review-correction-popin/prop-types.js +30 -0
  163. package/lib/molecule/review-correction-popin/prop-types.js.map +1 -0
  164. package/lib/molecule/review-header-steps/index.js +3 -5
  165. package/lib/molecule/review-header-steps/index.js.map +1 -1
  166. package/lib/molecule/review-header-steps/prop-types.js +16 -0
  167. package/lib/molecule/review-header-steps/prop-types.js.map +1 -0
  168. package/lib/molecule/skill-card/index.js +3 -13
  169. package/lib/molecule/skill-card/index.js.map +1 -1
  170. package/lib/molecule/skill-card/prop-types.js +22 -0
  171. package/lib/molecule/skill-card/prop-types.js.map +1 -0
  172. package/lib/molecule/video-player/index.js +3 -19
  173. package/lib/molecule/video-player/index.js.map +1 -1
  174. package/lib/molecule/video-player/jwplayer-prop-types.js +48 -0
  175. package/lib/molecule/video-player/jwplayer-prop-types.js.map +1 -0
  176. package/lib/molecule/video-player/jwplayer.js +3 -39
  177. package/lib/molecule/video-player/jwplayer.js.map +1 -1
  178. package/lib/molecule/video-player/prop-types.js +64 -0
  179. package/lib/molecule/video-player/prop-types.js.map +1 -0
  180. package/lib/organism/review-congrats/index.js +3 -20
  181. package/lib/organism/review-congrats/index.js.map +1 -1
  182. package/lib/organism/review-congrats/prop-types.js +33 -0
  183. package/lib/organism/review-congrats/prop-types.js.map +1 -0
  184. package/lib/organism/review-header/index.js +3 -11
  185. package/lib/organism/review-header/index.js.map +1 -1
  186. package/lib/organism/review-header/prop-types.js +22 -0
  187. package/lib/organism/review-header/prop-types.js.map +1 -0
  188. package/lib/organism/review-skills/index.js +10 -23
  189. package/lib/organism/review-skills/index.js.map +1 -1
  190. package/lib/organism/review-skills/prop-types.js +33 -0
  191. package/lib/organism/review-skills/prop-types.js.map +1 -0
  192. package/lib/template/app-player/loading/index.js +1 -0
  193. package/lib/template/app-player/loading/index.js.map +1 -1
  194. package/lib/template/app-review/demo-ts/index.js +3 -0
  195. package/lib/template/app-review/demo-ts/index.js.map +1 -1
  196. package/lib/template/app-review/demo-ts/index.native.js +18 -0
  197. package/lib/template/app-review/demo-ts/index.native.js.map +1 -0
  198. package/lib/template/app-review/demo-ts/typings.js +16 -0
  199. package/lib/template/app-review/demo-ts/typings.js.map +1 -0
  200. package/lib/template/app-review/index.js +5 -0
  201. package/lib/template/app-review/index.js.map +1 -1
  202. package/lib/template/app-review/index.native.js +25 -26
  203. package/lib/template/app-review/index.native.js.map +1 -1
  204. package/lib/template/app-review/onboarding/index.native.js +2 -2
  205. package/lib/template/app-review/onboarding/index.native.js.map +1 -1
  206. package/lib/template/app-review/skills/index.native.js +4 -4
  207. package/lib/template/app-review/skills/index.native.js.map +1 -1
  208. package/lib/template/app-review/slides/index.js +4 -5
  209. package/lib/template/app-review/slides/index.js.map +1 -1
  210. package/lib/template/app-review/slides/index.native.js +76 -38
  211. package/lib/template/app-review/slides/index.native.js.map +1 -1
  212. package/lib/template/app-review/slides/prop-types.js +16 -16
  213. package/lib/template/app-review/slides/prop-types.js.map +1 -1
  214. package/lib/template/app-review/template-context.js +50 -0
  215. package/lib/template/app-review/template-context.js.map +1 -0
  216. package/lib/variables/analytics.js +27 -0
  217. package/lib/variables/analytics.js.map +1 -0
  218. package/lib/variables/theme.native.js +70 -0
  219. package/lib/variables/theme.native.js.map +1 -0
  220. package/lib/variables/vibration.js +15 -0
  221. package/lib/variables/vibration.js.map +1 -0
  222. package/package.json +6 -2
@@ -3,19 +3,19 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
5
 
6
- var React = _interopRequireWildcard(require("react"));
6
+ var _react = _interopRequireDefault(require("react"));
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
10
10
  var _reactNative = require("react-native");
11
11
 
12
- var _propTypes2 = require("./prop-types");
12
+ var _freeText = _interopRequireDefault(require("../../../molecule/questions/free-text"));
13
13
 
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ var _templateContext = require("../template-context");
15
15
 
16
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
16
+ var _propTypes2 = require("./prop-types");
17
17
 
18
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
20
  // import theme from '../../../modules/theme';
21
21
  // import translations from '../../../translations';
@@ -54,9 +54,10 @@ const SLIDE_HEIGHT = () => (0, _reactNative.useWindowDimensions)().height * 0.75
54
54
  const creatSlideStyle = (num, width, height) => _reactNative.StyleSheet.create({
55
55
  slide: {
56
56
  position: 'absolute',
57
- // backgroundColor: theme.colors.white, @todo with props
58
57
  top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,
59
58
  flex: 1,
59
+ backgroundColor: '#fff',
60
+ // backgroundColor: theme.colors.white, @todo with props and useEffect
60
61
  height: SLIDE_HEIGHT(),
61
62
  width: width - 40 - num * 8,
62
63
  justifyContent: 'space-between',
@@ -146,18 +147,18 @@ const choicesStyle = _reactNative.StyleSheet.create({
146
147
 
147
148
 
148
149
  const Choices = ({
149
- choices
150
- }) => /*#__PURE__*/React.createElement(_reactNative.View, {
150
+ choices = []
151
+ }) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
151
152
  style: choicesStyle.container
152
153
  }, choices.map(({
153
154
  text,
154
155
  selected = false
155
156
  }, index) => {
156
157
  const optionStyle = createOptionStyle(selected);
157
- return /*#__PURE__*/React.createElement(_reactNative.View, {
158
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
158
159
  style: optionStyle.box,
159
160
  key: `choice-${index}`
160
- }, /*#__PURE__*/React.createElement(_reactNative.Text, {
161
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
161
162
  style: optionStyle.text
162
163
  }, text, " ", selected));
163
164
  }));
@@ -168,58 +169,95 @@ Choices.propTypes = process.env.NODE_ENV !== "production" ? {
168
169
  selected: _propTypes.default.bool
169
170
  })
170
171
  } : {}; // -----------------------------------------------------------------------------
171
- // const Slide = ({slide, num}: Props) => {
172
172
 
173
- const Slide = ({
174
- validateSlide,
175
- slide,
176
- num
177
- }) => {
173
+ const Slide = props => {
174
+ const {
175
+ validateSlide,
176
+ slide,
177
+ num
178
+ } = props;
178
179
  const {
179
180
  width,
180
181
  height
181
182
  } = (0, _reactNative.useWindowDimensions)();
182
183
  const slideStyle = creatSlideStyle(num, width, height);
183
184
  const validateLabel = '__validate'; // translations.validate
184
- // TODO replace choices with <Answer>; move mobile answers in the package..
185
185
 
186
- return /*#__PURE__*/React.createElement(_reactNative.View, {
186
+ const templateContext = (0, _templateContext.useTemplateContext)();
187
+ const {
188
+ analytics
189
+ } = templateContext;
190
+ const {
191
+ answerUI: {
192
+ isDisabled = false,
193
+ value = '',
194
+ model: {
195
+ type,
196
+ onChange
197
+ }
198
+ } = {
199
+ isDisabled: false,
200
+ value: '',
201
+ model: {
202
+ type: 'freeText',
203
+ onChange: () => null
204
+ }
205
+ }
206
+ } = slide;
207
+
208
+ switch (type) {
209
+ case 'freeText':
210
+ {
211
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
212
+ style: slideStyle.slide
213
+ }, /*#__PURE__*/_react.default.createElement(_freeText.default, {
214
+ isDisabled: isDisabled,
215
+ onChange: onChange,
216
+ value: value,
217
+ testID: "free-text",
218
+ questionType: "basic",
219
+ analytics: analytics
220
+ }));
221
+ }
222
+
223
+ default:
224
+ }
225
+
226
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
187
227
  style: slideStyle.slide
188
- }, /*#__PURE__*/React.createElement(_reactNative.Text, {
228
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
189
229
  style: slideStyle.category
190
- }, slide.category, " ", num), /*#__PURE__*/React.createElement(_reactNative.Text, {
230
+ }, num), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
191
231
  style: slideStyle.question
192
- }, slide.question), /*#__PURE__*/React.createElement(_reactNative.Text, {
232
+ }, slide.question), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
193
233
  style: slideStyle.instruction
194
- }, slide.instruction), /*#__PURE__*/React.createElement(Choices, {
234
+ }, slide.instruction), /*#__PURE__*/_react.default.createElement(Choices, {
195
235
  choices: slide.choices
196
- }), /*#__PURE__*/React.createElement(_reactNative.Button, {
236
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Button, {
197
237
  style: slideStyle.button,
198
238
  onPress: validateSlide,
199
239
  testID: `button-quizzer-validate`
200
240
  }, validateLabel));
201
- };
202
-
203
- Slide.propTypes = process.env.NODE_ENV !== "production" ? {
204
- slide: _propTypes2.SlidesReviewPropTypes.slide,
205
- validateSlide: _propTypes2.SlidesReviewPropTypes.validateSlide,
206
- num: _propTypes.default.number
207
- } : {}; // -----------------------------------------------------------------------------
241
+ }; // -----------------------------------------------------------------------------
208
242
  // const Slides = ({slide}: Props) => {
209
243
 
244
+
210
245
  const Slides = ({
211
- slide,
246
+ slides,
212
247
  validateSlide
213
248
  }) => {
214
- const slides = [slide, slide, slide, slide, slide];
215
- return /*#__PURE__*/React.createElement(_reactNative.View, {
249
+ if (!slides) {
250
+ return null;
251
+ }
252
+
253
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
216
254
  style: quizzerStyle.container
217
- }, slides.reverse().map((_slide, index) => /*#__PURE__*/React.createElement(Slide, {
255
+ }, /*#__PURE__*/_react.default.createElement(Slide, {
218
256
  validateSlide: validateSlide,
219
- slide: _slide,
220
- num: slides.length - index,
221
- key: `slide-${index}`
222
- })));
257
+ slide: slides[0],
258
+ num: 0,
259
+ key: `slide-${0}`
260
+ }));
223
261
  };
224
262
 
225
263
  Slides.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.SlidesReviewPropTypes : {}; // -----------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/index.native.js"],"names":["quizzerStyle","StyleSheet","create","container","flex","padding","justifyContent","alignItems","SLIDE_HEIGHT","height","creatSlideStyle","num","width","slide","position","top","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","category","fontSize","lineHeight","textAlign","question","fontWeight","instruction","button","createOptionStyle","selected","box","marginTop","marginBottom","text","choicesStyle","Choices","choices","map","index","optionStyle","propTypes","PropTypes","arrayOf","bool","Slide","validateSlide","slideStyle","validateLabel","SlidesReviewPropTypes","number","Slides","slides","reverse","_slide","length"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, StyleSheet, Text, useWindowDimensions, Button} from 'react-native';\n\nimport {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 // backgroundColor: theme.colors.white, @todo with props\n top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,\n flex: 1,\n height: SLIDE_HEIGHT(),\n width: width - 40 - num * 8,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n },\n category: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.text.primary, @todo with props\n // marginBottom: theme.spacing.tiny, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n question: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n // color: theme.colors.text.primary, @todo with props\n textAlign: 'center'\n },\n instruction: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.gray.medium, @todo with props\n // marginBottom: theme.spacing.base, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n button: {\n width: 287,\n height: 52,\n borderRadius: 7\n // marginTop: theme.spacing.base @todo with props\n }\n });\n\nconst createOptionStyle = selected => {\n // const brandTheme = React.useContext(BrandThemeContext); @todo with props\n\n return StyleSheet.create({\n box: {\n width: '100%',\n // https://stackoverflow.com/a/66561995/959219\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.2,\n shadowRadius: 16,\n elevation: 8,\n // backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props\n padding: 12,\n marginTop: 4,\n marginBottom: 4,\n borderRadius: 8\n },\n text: {\n fontSize: 15,\n fontWeight: 'bold',\n lineHeight: 24,\n // color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props\n textAlign: 'center'\n }\n });\n};\n\nconst choicesStyle = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\n/* {choices.map(({text, selected = false}: _Choice_) => { */\nconst Choices = ({choices}) => (\n <View style={choicesStyle.container}>\n {choices.map(({text, selected = false}, index) => {\n const optionStyle = createOptionStyle(selected);\n return (\n <View style={optionStyle.box} key={`choice-${index}`}>\n <Text style={optionStyle.text}>\n {text} {selected}\n </Text>\n </View>\n );\n })}\n </View>\n);\n\nChoices.propTypes = {\n choices: PropTypes.arrayOf({\n text: PropTypes.text,\n selected: PropTypes.bool\n })\n};\n\n// -----------------------------------------------------------------------------\n\n// const Slide = ({slide, num}: Props) => {\nconst Slide = ({validateSlide, slide, num}) => {\n const {width, height} = useWindowDimensions();\n const slideStyle = creatSlideStyle(num, width, height);\n const validateLabel = '__validate'; // translations.validate\n\n // TODO replace choices with <Answer>; move mobile answers in the package..\n return (\n <View style={slideStyle.slide}>\n <Text style={slideStyle.category}>\n {slide.category} {num}\n </Text>\n <Text style={slideStyle.question}>{slide.question}</Text>\n <Text style={slideStyle.instruction}>{slide.instruction}</Text>\n\n <Choices choices={slide.choices} />\n\n <Button style={slideStyle.button} onPress={validateSlide} testID={`button-quizzer-validate`}>\n {validateLabel}\n </Button>\n </View>\n );\n};\n\nSlide.propTypes = {\n slide: SlidesReviewPropTypes.slide,\n validateSlide: SlidesReviewPropTypes.validateSlide,\n num: PropTypes.number\n};\n\n// -----------------------------------------------------------------------------\n\n// const Slides = ({slide}: Props) => {\nconst Slides = ({slide, validateSlide}) => {\n const slides = [slide, slide, slide, slide, slide];\n return (\n <View style={quizzerStyle.container}>\n {slides.reverse().map((_slide, index) => (\n <Slide\n validateSlide={validateSlide}\n slide={_slide}\n num={slides.length - index}\n key={`slide-${index}`}\n />\n ))}\n </View>\n );\n};\n\nSlides.propTypes = SlidesReviewPropTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Slides;\n"],"file":"index.native.js"}
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"}
@@ -7,15 +7,15 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
7
7
 
8
8
  var _omit = _interopRequireDefault(require("lodash/fp/omit"));
9
9
 
10
- var _reviewCongrats = _interopRequireDefault(require("../../../organism/review-congrats"));
10
+ var _propTypes2 = _interopRequireDefault(require("../../../organism/review-congrats/prop-types"));
11
11
 
12
- var _reviewCorrectionPopin = _interopRequireDefault(require("../../../molecule/review-correction-popin"));
12
+ var _propTypes3 = _interopRequireDefault(require("../../../molecule/review-correction-popin/prop-types"));
13
13
 
14
- var _reviewBackground = _interopRequireDefault(require("../../../atom/review-background"));
14
+ var _propTypes4 = _interopRequireDefault(require("../../../atom/review-background/prop-types"));
15
15
 
16
- var _reviewHeader = _interopRequireDefault(require("../../../organism/review-header"));
16
+ var _propTypes5 = _interopRequireDefault(require("../../../organism/review-header/prop-types"));
17
17
 
18
- var _answer = _interopRequireDefault(require("../../../molecule/answer"));
18
+ var _propTypes6 = _interopRequireDefault(require("../../../molecule/answer/prop-types"));
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
@@ -30,11 +30,11 @@ const NextSlideProp = _propTypes.default.shape({
30
30
  isCorrect: _propTypes.default.string,
31
31
  endReview: _propTypes.default.bool,
32
32
  questionText: _propTypes.default.string,
33
- answerUI: _answer.default
33
+ answerUI: _propTypes6.default
34
34
  });
35
35
 
36
36
  const SlideProp = _propTypes.default.shape(_extends(_extends({}, NextSlideProp.props), {}, {
37
- nextSlide: NextSlideProp
37
+ nextContent: NextSlideProp
38
38
  }));
39
39
 
40
40
  const StepItemProp = _propTypes.default.shape({
@@ -44,8 +44,8 @@ const StepItemProp = _propTypes.default.shape({
44
44
  });
45
45
 
46
46
  const SlidesReviewPropTypes = {
47
- headerProps: _propTypes.default.shape((0, _omit.default)('steps', _reviewHeader.default.propTypes)),
48
- reviewBackgroundAriaLabel: _reviewBackground.default.propTypes['aria-label'],
47
+ headerProps: _propTypes.default.shape((0, _omit.default)('steps', _propTypes5.default.propTypes)),
48
+ reviewBackgroundAriaLabel: _propTypes4.default['aria-label'],
49
49
  validate: _propTypes.default.shape({
50
50
  label: _propTypes.default.string
51
51
  }),
@@ -77,25 +77,25 @@ const SlidesReviewPropTypes = {
77
77
  reviewStatus: _propTypes.default.string,
78
78
  correctionPopinProps: _propTypes.default.shape({
79
79
  // ---------------
80
- klf: _reviewCorrectionPopin.default.propTypes.klf,
81
- information: _reviewCorrectionPopin.default.propTypes.information,
80
+ klf: _propTypes3.default.klf,
81
+ information: _propTypes3.default.information,
82
82
  next: _propTypes.default.shape({
83
83
  label: _propTypes.default.string,
84
84
  'aria-label': _propTypes.default.string
85
85
  }),
86
- successLabel: _reviewCorrectionPopin.default.propTypes.resultLabel,
87
- failureLabel: _reviewCorrectionPopin.default.propTypes.resultLabel
86
+ successLabel: _propTypes3.default.resultLabel,
87
+ failureLabel: _propTypes3.default.resultLabel
88
88
  }),
89
- congratsProps: _propTypes.default.shape(_reviewCongrats.default.propTypes),
89
+ congratsProps: _propTypes.default.shape(_propTypes2.default),
90
90
  progression: _propTypes.default.shape({
91
91
  slideNumber: _propTypes.default.number,
92
92
  // 'success' | 'failure'
93
93
  isCorrect: _propTypes.default.bool,
94
94
  // 'successExitNode' | 'failExitNode'
95
95
  exitNode: _propTypes.default.string,
96
- nextSlide: _propTypes.default.shape({
96
+ nextContent: _propTypes.default.shape({
97
97
  questionText: _propTypes.default.string,
98
- answerUI: _propTypes.default.shape(_answer.default.propTypes)
98
+ answerUI: _propTypes.default.shape(_propTypes6.default)
99
99
  })
100
100
  }),
101
101
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
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","Answer","SlideProp","props","nextSlide","StepItemProp","current","icon","value","SlidesReviewPropTypes","headerProps","ReviewHeader","propTypes","reviewBackgroundAriaLabel","ReviewBackground","validate","label","slides","slideNumbers","arrayOf","finishedSlides","stepItems","reviewStatus","correctionPopinProps","klf","ReviewCorrectionPopin","information","next","successLabel","resultLabel","failureLabel","congratsProps","ReviewCongrats","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 ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewHeader from '../../../organism/review-header';\nimport Answer from '../../../molecule/answer';\n\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: Answer\n});\n\nconst SlideProp = PropTypes.shape({\n ...NextSlideProp.props,\n nextSlide: 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: ReviewBackground.propTypes['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: ReviewCorrectionPopin.propTypes.klf,\n information: ReviewCorrectionPopin.propTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n successLabel: ReviewCorrectionPopin.propTypes.resultLabel,\n failureLabel: ReviewCorrectionPopin.propTypes.resultLabel\n }),\n congratsProps: PropTypes.shape(ReviewCongrats.propTypes),\n progression: PropTypes.shape({\n slideNumber: PropTypes.number,\n // 'success' | 'failure'\n isCorrect: PropTypes.bool,\n // 'successExitNode' | 'failExitNode'\n exitNode: PropTypes.string,\n nextSlide: PropTypes.shape({\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(Answer.propTypes)\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"}
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"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useTemplateContext = exports.TemplateContext = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ var _theme = _interopRequireDefault(require("../../variables/theme.native"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
13
+
14
+ 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; }
15
+
16
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
+
18
+ // -----------------------------------------------------------------------------
19
+ const Context = (0, _react.createContext)({
20
+ theme: _theme.default,
21
+ display: {
22
+ statusBarHeight: 42
23
+ }
24
+ }); // -----------------------------------------------------------------------------
25
+
26
+ const useTemplateContext = () => {
27
+ const context = (0, _react.useContext)(Context);
28
+
29
+ if (!context) {
30
+ throw new Error(`❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`);
31
+ }
32
+
33
+ return context;
34
+ }; // -----------------------------------------------------------------------------
35
+
36
+
37
+ exports.useTemplateContext = useTemplateContext;
38
+
39
+ const TemplateContext = ({
40
+ values,
41
+ children
42
+ }) => {
43
+ return /*#__PURE__*/_react.default.createElement(Context.Provider, {
44
+ value: _extends({}, values)
45
+ }, children);
46
+ }; // -----------------------------------------------------------------------------
47
+
48
+
49
+ exports.TemplateContext = TemplateContext;
50
+ //# sourceMappingURL=template-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["Context","theme","defaultTheme","display","statusBarHeight","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;;;;AAEA;;AAEA;;;;;;;;;;AAeA;AAEA,MAAMA,OAAO,GAAG,0BAAc;AAC5BC,EAAAA,KAAK,EAAEC,cADqB;AAE5BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,eAAe,EAAE;AADV;AAFmB,CAAd,CAAhB,C,CAOA;;AAEA,MAAMC,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAG,uBAAWN,OAAX,CAAhB;;AAEA,MAAI,CAACM,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD,C,CAYA;;;;;AAEA,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AACrD,sBAAO,6BAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD,C,CAIA","sourcesContent":["// -----------------------------------------------------------------------------\n\nimport React, {createContext, useContext} from 'react';\nimport {Analytics} from '../../variables/analytics';\nimport defaultTheme, {Theme} from '../../variables/theme.native';\nimport {Vibration} from '../../variables/vibration';\n\nexport type TemplateContextValues = {\n analytics?: Analytics;\n brandTheme?: any;\n theme: Theme;\n vibration?: Vibration;\n display: {\n statusBarHeight: number;\n };\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\n// -----------------------------------------------------------------------------\n\nconst Context = createContext({\n theme: defaultTheme,\n display: {\n statusBarHeight: 42\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst useTemplateContext = (): TemplateContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error(\n `❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`\n );\n }\n\n return context;\n};\n\n// -----------------------------------------------------------------------------\n\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\n// -----------------------------------------------------------------------------\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.ANALYTICS_EVENT_TYPE = void 0;
5
+ const ANALYTICS_EVENT_TYPE = {
6
+ PRESS: 'press',
7
+ SWIPE: 'swipe',
8
+ LONG_PRESS: 'longPress',
9
+ SLIDE: 'slide',
10
+ MEDIA_VIEWED: 'mediaViewed',
11
+ START_PROGRESSION: 'startProgression',
12
+ OPEN_SELECT: 'openSelect',
13
+ CLOSE_SELECT: 'closeSelect',
14
+ INPUT_BLUR: 'inputBlur',
15
+ INPUT_FOCUS: 'inputFocus',
16
+ FINISH_PROGRESSION: 'finishProgression',
17
+ SIGN_IN: 'signIn',
18
+ SIGN_OUT: 'signOut',
19
+ NAVIGATE: 'navigate',
20
+ VALIDATE_ANSWER: 'validateAnswer',
21
+ PERMISSION: 'permission',
22
+ NOTIFICATIONS_MAYBE_LATER: 'notificationsMaybeLater',
23
+ NOTIFICATIONS_YES_NOTIFY_ME: 'notificationsYesNotifyMe',
24
+ NOTIFICATIONS: 'notifications'
25
+ };
26
+ exports.ANALYTICS_EVENT_TYPE = ANALYTICS_EVENT_TYPE;
27
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/variables/analytics.tsx"],"names":["ANALYTICS_EVENT_TYPE","PRESS","SWIPE","LONG_PRESS","SLIDE","MEDIA_VIEWED","START_PROGRESSION","OPEN_SELECT","CLOSE_SELECT","INPUT_BLUR","INPUT_FOCUS","FINISH_PROGRESSION","SIGN_IN","SIGN_OUT","NAVIGATE","VALIDATE_ANSWER","PERMISSION","NOTIFICATIONS_MAYBE_LATER","NOTIFICATIONS_YES_NOTIFY_ME","NOTIFICATIONS"],"mappings":";;;;AAAO,MAAMA,oBAAoB,GAAG;AAClCC,EAAAA,KAAK,EAAE,OAD2B;AAElCC,EAAAA,KAAK,EAAE,OAF2B;AAGlCC,EAAAA,UAAU,EAAE,WAHsB;AAIlCC,EAAAA,KAAK,EAAE,OAJ2B;AAKlCC,EAAAA,YAAY,EAAE,aALoB;AAMlCC,EAAAA,iBAAiB,EAAE,kBANe;AAOlCC,EAAAA,WAAW,EAAE,YAPqB;AAQlCC,EAAAA,YAAY,EAAE,aARoB;AASlCC,EAAAA,UAAU,EAAE,WATsB;AAUlCC,EAAAA,WAAW,EAAE,YAVqB;AAWlCC,EAAAA,kBAAkB,EAAE,mBAXc;AAYlCC,EAAAA,OAAO,EAAE,QAZyB;AAalCC,EAAAA,QAAQ,EAAE,SAbwB;AAclCC,EAAAA,QAAQ,EAAE,UAdwB;AAelCC,EAAAA,eAAe,EAAE,gBAfiB;AAgBlCC,EAAAA,UAAU,EAAE,YAhBsB;AAiBlCC,EAAAA,yBAAyB,EAAE,yBAjBO;AAkBlCC,EAAAA,2BAA2B,EAAE,0BAlBK;AAmBlCC,EAAAA,aAAa,EAAE;AAnBmB,CAA7B","sourcesContent":["export const ANALYTICS_EVENT_TYPE = {\n PRESS: 'press',\n SWIPE: 'swipe',\n LONG_PRESS: 'longPress',\n SLIDE: 'slide',\n MEDIA_VIEWED: 'mediaViewed',\n START_PROGRESSION: 'startProgression',\n OPEN_SELECT: 'openSelect',\n CLOSE_SELECT: 'closeSelect',\n INPUT_BLUR: 'inputBlur',\n INPUT_FOCUS: 'inputFocus',\n FINISH_PROGRESSION: 'finishProgression',\n SIGN_IN: 'signIn',\n SIGN_OUT: 'signOut',\n NAVIGATE: 'navigate',\n VALIDATE_ANSWER: 'validateAnswer',\n PERMISSION: 'permission',\n NOTIFICATIONS_MAYBE_LATER: 'notificationsMaybeLater',\n NOTIFICATIONS_YES_NOTIFY_ME: 'notificationsYesNotifyMe',\n NOTIFICATIONS: 'notifications'\n};\n\nexport type Analytics = {\n logEvent: Function;\n};\n\nexport type AnalyticsEventParams = {\n [key: string]: string | number;\n};\n"],"file":"analytics.js"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ const defaultTheme = {
6
+ colors: {
7
+ border: 'rgba(0, 0, 0, 0.1)',
8
+ gray: {
9
+ extra: '#FAFAFA',
10
+ lighter: '#F4F4F5',
11
+ light: '#ededed',
12
+ lightMedium: '#CFD8DC',
13
+ medium: '#90A4AE',
14
+ dark: '#546E7A',
15
+ extraDark: '#323232'
16
+ },
17
+ text: {
18
+ primary: '#06265B'
19
+ },
20
+ background: {},
21
+ cta: '#0061FF',
22
+ negative: '#F73F52',
23
+ positive: '#3EC483',
24
+ white: '#FFFFFF',
25
+ black: '#14171A',
26
+ battle: '#FFDE03',
27
+ notification: '#FF7043',
28
+ salmon: '#FDE2E5'
29
+ },
30
+ spacing: {
31
+ micro: 4,
32
+ tiny: 8,
33
+ small: 16,
34
+ base: 24,
35
+ medium: 32,
36
+ large: 48,
37
+ xlarge: 64
38
+ },
39
+ radius: {
40
+ common: 3,
41
+ card: 5,
42
+ regular: 8,
43
+ medium: 12,
44
+ search: 24,
45
+ button: 32,
46
+ thumbnail: 1000
47
+ },
48
+ fontWeight: {
49
+ regular: '400',
50
+ semiBold: '500',
51
+ bold: '700',
52
+ extraBold: '900'
53
+ },
54
+ fontSize: {
55
+ extraSmall: 10,
56
+ small: 12,
57
+ medium: 13,
58
+ regular: 15,
59
+ large: 17,
60
+ xlarge: 22,
61
+ xxlarge: 28,
62
+ xxxlarge: 40
63
+ },
64
+ letterSpacing: {
65
+ header: 5
66
+ }
67
+ };
68
+ var _default = defaultTheme;
69
+ exports.default = _default;
70
+ //# sourceMappingURL=theme.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/variables/theme.native.ts"],"names":["defaultTheme","colors","border","gray","extra","lighter","light","lightMedium","medium","dark","extraDark","text","primary","background","cta","negative","positive","white","black","battle","notification","salmon","spacing","micro","tiny","small","base","large","xlarge","radius","common","card","regular","search","button","thumbnail","fontWeight","semiBold","bold","extraBold","fontSize","extraSmall","xxlarge","xxxlarge","letterSpacing","header"],"mappings":";;;;AAuDA,MAAMA,YAAmB,GAAG;AAC1BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,oBADF;AAENC,IAAAA,IAAI,EAAE;AACJC,MAAAA,KAAK,EAAE,SADH;AAEJC,MAAAA,OAAO,EAAE,SAFL;AAGJC,MAAAA,KAAK,EAAE,SAHH;AAIJC,MAAAA,WAAW,EAAE,SAJT;AAKJC,MAAAA,MAAM,EAAE,SALJ;AAMJC,MAAAA,IAAI,EAAE,SANF;AAOJC,MAAAA,SAAS,EAAE;AAPP,KAFA;AAWNC,IAAAA,IAAI,EAAE;AACJC,MAAAA,OAAO,EAAE;AADL,KAXA;AAcNC,IAAAA,UAAU,EAAE,EAdN;AAeNC,IAAAA,GAAG,EAAE,SAfC;AAgBNC,IAAAA,QAAQ,EAAE,SAhBJ;AAiBNC,IAAAA,QAAQ,EAAE,SAjBJ;AAkBNC,IAAAA,KAAK,EAAE,SAlBD;AAmBNC,IAAAA,KAAK,EAAE,SAnBD;AAoBNC,IAAAA,MAAM,EAAE,SApBF;AAqBNC,IAAAA,YAAY,EAAE,SArBR;AAsBNC,IAAAA,MAAM,EAAE;AAtBF,GADkB;AAyB1BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,KAAK,EAAE,CADA;AAEPC,IAAAA,IAAI,EAAE,CAFC;AAGPC,IAAAA,KAAK,EAAE,EAHA;AAIPC,IAAAA,IAAI,EAAE,EAJC;AAKPlB,IAAAA,MAAM,EAAE,EALD;AAMPmB,IAAAA,KAAK,EAAE,EANA;AAOPC,IAAAA,MAAM,EAAE;AAPD,GAzBiB;AAkC1BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,CADF;AAENC,IAAAA,IAAI,EAAE,CAFA;AAGNC,IAAAA,OAAO,EAAE,CAHH;AAINxB,IAAAA,MAAM,EAAE,EAJF;AAKNyB,IAAAA,MAAM,EAAE,EALF;AAMNC,IAAAA,MAAM,EAAE,EANF;AAONC,IAAAA,SAAS,EAAE;AAPL,GAlCkB;AA2C1BC,EAAAA,UAAU,EAAE;AACVJ,IAAAA,OAAO,EAAE,KADC;AAEVK,IAAAA,QAAQ,EAAE,KAFA;AAGVC,IAAAA,IAAI,EAAE,KAHI;AAIVC,IAAAA,SAAS,EAAE;AAJD,GA3Cc;AAiD1BC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,UAAU,EAAE,EADJ;AAERhB,IAAAA,KAAK,EAAE,EAFC;AAGRjB,IAAAA,MAAM,EAAE,EAHA;AAIRwB,IAAAA,OAAO,EAAE,EAJD;AAKRL,IAAAA,KAAK,EAAE,EALC;AAMRC,IAAAA,MAAM,EAAE,EANA;AAORc,IAAAA,OAAO,EAAE,EAPD;AAQRC,IAAAA,QAAQ,EAAE;AARF,GAjDgB;AA2D1BC,EAAAA,aAAa,EAAE;AACbC,IAAAA,MAAM,EAAE;AADK;AA3DW,CAA5B;eAgEe7C,Y","sourcesContent":["type SpaceType = 'micro' | 'tiny' | 'small' | 'base' | 'medium' | 'large' | 'xlarge';\n\nexport type Colors = {\n border: string;\n gray: {\n extra: string;\n light: string;\n lighter: string;\n lightMedium: string;\n medium: string;\n dark: string;\n extraDark: string;\n };\n text: {\n primary: '#06265B';\n };\n negative: string;\n positive: string;\n white: string;\n black: string;\n battle: string;\n notification: string;\n salmon: string;\n};\n\nexport type FontWeightType = 'extraBold' | 'bold' | 'semiBold' | 'regular';\n\nexport type FontSizeType =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'regular'\n | 'large'\n | 'xlarge'\n | 'xxlarge'\n | 'xxxlarge';\n\nexport type Theme = {\n colors: Colors;\n spacing: {[key in SpaceType]: number};\n radius: {\n common: number;\n card: number;\n medium: number;\n search: number;\n button: number;\n thumbnail: number;\n };\n fontWeight: {[key in FontWeightType]: string};\n fontSize: {[key in FontSizeType]: string};\n letterSpacing: {\n header: number;\n };\n};\n\nconst defaultTheme: Theme = {\n colors: {\n border: 'rgba(0, 0, 0, 0.1)',\n gray: {\n extra: '#FAFAFA',\n lighter: '#F4F4F5',\n light: '#ededed',\n lightMedium: '#CFD8DC',\n medium: '#90A4AE',\n dark: '#546E7A',\n extraDark: '#323232'\n },\n text: {\n primary: '#06265B'\n },\n background: {},\n cta: '#0061FF',\n negative: '#F73F52',\n positive: '#3EC483',\n white: '#FFFFFF',\n black: '#14171A',\n battle: '#FFDE03',\n notification: '#FF7043',\n salmon: '#FDE2E5'\n },\n spacing: {\n micro: 4,\n tiny: 8,\n small: 16,\n base: 24,\n medium: 32,\n large: 48,\n xlarge: 64\n },\n radius: {\n common: 3,\n card: 5,\n regular: 8,\n medium: 12,\n search: 24,\n button: 32,\n thumbnail: 1000\n },\n fontWeight: {\n regular: '400',\n semiBold: '500',\n bold: '700',\n extraBold: '900'\n },\n fontSize: {\n extraSmall: 10,\n small: 12,\n medium: 13,\n regular: 15,\n large: 17,\n xlarge: 22,\n xxlarge: 28,\n xxxlarge: 40\n },\n letterSpacing: {\n header: 5\n }\n};\n\nexport default defaultTheme;\n"],"file":"theme.native.js"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.VIBRATION_TYPE = void 0;
5
+ const VIBRATION_TYPE = {
6
+ SELECTION: 'selection',
7
+ IMPACT_LIGHT: 'impactLight',
8
+ IMPACT_MEDIUM: 'impactMedium',
9
+ IMPACT_HEAVY: 'impactHeavy',
10
+ NOTIFICATION_SUCCESS: 'notificationSuccess',
11
+ NOTIFICATION_WARNING: 'notificationWarning',
12
+ NOTIFICATION_ERROR: 'notificationError'
13
+ };
14
+ exports.VIBRATION_TYPE = VIBRATION_TYPE;
15
+ //# sourceMappingURL=vibration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/variables/vibration.ts"],"names":["VIBRATION_TYPE","SELECTION","IMPACT_LIGHT","IMPACT_MEDIUM","IMPACT_HEAVY","NOTIFICATION_SUCCESS","NOTIFICATION_WARNING","NOTIFICATION_ERROR"],"mappings":";;;;AASO,MAAMA,cASZ,GAAG;AACFC,EAAAA,SAAS,EAAE,WADT;AAEFC,EAAAA,YAAY,EAAE,aAFZ;AAGFC,EAAAA,aAAa,EAAE,cAHb;AAIFC,EAAAA,YAAY,EAAE,aAJZ;AAKFC,EAAAA,oBAAoB,EAAE,qBALpB;AAMFC,EAAAA,oBAAoB,EAAE,qBANpB;AAOFC,EAAAA,kBAAkB,EAAE;AAPlB,CATG","sourcesContent":["export type VibrationType =\n | 'selection'\n | 'impactLight'\n | 'impactMedium'\n | 'impactHeavy'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'notificationError';\n\nexport const VIBRATION_TYPE: {\n [key in\n | 'SELECTION'\n | 'IMPACT_LIGHT'\n | 'IMPACT_MEDIUM'\n | 'IMPACT_HEAVY'\n | 'NOTIFICATION_SUCCESS'\n | 'NOTIFICATION_WARNING'\n | 'NOTIFICATION_ERROR']?: VibrationType;\n} = {\n SELECTION: 'selection',\n IMPACT_LIGHT: 'impactLight',\n IMPACT_MEDIUM: 'impactMedium',\n IMPACT_HEAVY: 'impactHeavy',\n NOTIFICATION_SUCCESS: 'notificationSuccess',\n NOTIFICATION_WARNING: 'notificationWarning',\n NOTIFICATION_ERROR: 'notificationError'\n};\n\nexport type Vibration = {\n VIBRATION_TYPE: typeof VIBRATION_TYPE;\n vibrate: (arg0: VibrationType | void) => void;\n};\n"],"file":"vibration.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "10.21.4",
3
+ "version": "10.22.3",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -93,14 +93,18 @@
93
93
  "@babel/preset-env": "^7.9.6",
94
94
  "@babel/preset-react": "^7.9.4",
95
95
  "@babel/preset-typescript": "^7.17.12",
96
+ "@babel/types": "^7.9.6",
96
97
  "@coorpacademy/css-modules-require-hook": "2.1.5",
97
98
  "@coorpacademy/eslint-plugin-coorpacademy": "^10.0.0",
99
+ "@coorpacademy/react-native-mock-render": "^0.1.20",
98
100
  "@coorpacademy/translate": "6.1.5",
99
101
  "@coorpacademy/webpack-config": "10.0.4",
100
102
  "@storybook/addon-knobs": "^5.3.18",
101
103
  "@storybook/addons": "^5.3.18",
102
104
  "@storybook/react": "^5.3.18",
103
105
  "@testing-library/react": "12.1.5",
106
+ "@testing-library/react-native": "^10.1.1",
107
+ "@types/react-native": "^0.69.3",
104
108
  "@wojtekmaj/enzyme-adapter-react-17": "^0.6.7",
105
109
  "ava": "^4.3.0",
106
110
  "babel-loader": "^8.1.0",
@@ -130,5 +134,5 @@
130
134
  "webpack": "^4.43.0"
131
135
  },
132
136
  "author": "CoorpAcademy",
133
- "gitHead": "aeb09b5a833e5f1a16c8ca15bf82fd2fcc9c3adb"
137
+ "gitHead": "3be3050e700db2d58de6759c1ec7de6869047209"
134
138
  }