@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
package/README.md CHANGED
@@ -162,7 +162,7 @@ Build modifications:
162
162
 
163
163
 
164
164
  ## Use in mobile app
165
- Run `npm run build:watch``
165
+ Run `npm run build:watch`
166
166
  For more info see the mobile documentaion (`docs/local-sync.md`)
167
167
 
168
168
  ## Troubleshooting
@@ -0,0 +1,75 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { View, StyleSheet } from 'react-native';
3
+ import { NovaSolidPlacesPlacesHome2 as HomeIcon, NovaSolidStatusClose as CloseIcon } from '@coorpacademy/nova-icons';
4
+ import { useTemplateContext } from '../../template/app-review/template-context';
5
+ import Touchable from '../../hoc/touchable/index.native';
6
+ import HeaderBackIcon from '../header-back-icon/index.native';
7
+ export const HOME_ICON_HEIGHT = 20;
8
+ export const CLOSE_ICON_HEIGHT = 16;
9
+ export const BACK_ICON_HEIGHT = 20;
10
+
11
+ const createStyleSheet = (brandTheme, theme, statusBarHeight) => StyleSheet.create({
12
+ container: {
13
+ paddingLeft: theme.spacing.base
14
+ },
15
+ floating: {
16
+ paddingTop: theme.spacing.base,
17
+ position: 'absolute',
18
+ top: statusBarHeight
19
+ },
20
+ noSafeArea: {
21
+ top: 0
22
+ }
23
+ });
24
+
25
+ const HeaderBackButton = props => {
26
+ const templateContext = useTemplateContext();
27
+ const [styleSheet, setStylesheet] = useState(null);
28
+ const {
29
+ brandTheme,
30
+ theme,
31
+ display: {
32
+ statusBarHeight
33
+ }
34
+ } = templateContext;
35
+ const {
36
+ type,
37
+ color = theme.colors.white,
38
+ onPress,
39
+ isFloating = true,
40
+ noSafeArea = false,
41
+ testID = 'default-header-back-button-test-id'
42
+ } = props;
43
+ useEffect(() => {
44
+ const _stylesheet = createStyleSheet(brandTheme, theme, statusBarHeight);
45
+
46
+ setStylesheet(_stylesheet);
47
+ }, [brandTheme, theme, statusBarHeight]);
48
+
49
+ if (!styleSheet) {
50
+ return null;
51
+ }
52
+
53
+ return /*#__PURE__*/React.createElement(View, {
54
+ style: [styleSheet.container, isFloating && styleSheet.floating, isFloating && noSafeArea && styleSheet.noSafeArea]
55
+ }, /*#__PURE__*/React.createElement(Touchable, {
56
+ testID: testID,
57
+ onPress: onPress,
58
+ analyticsID: "button-close"
59
+ }, type === 'home' ? /*#__PURE__*/React.createElement(HomeIcon, {
60
+ height: HOME_ICON_HEIGHT,
61
+ width: HOME_ICON_HEIGHT,
62
+ color: color
63
+ }) : null, type === 'close' ? /*#__PURE__*/React.createElement(CloseIcon, {
64
+ height: CLOSE_ICON_HEIGHT,
65
+ width: CLOSE_ICON_HEIGHT,
66
+ color: color
67
+ }) : null, type === 'back' ? /*#__PURE__*/React.createElement(HeaderBackIcon, {
68
+ height: BACK_ICON_HEIGHT,
69
+ width: BACK_ICON_HEIGHT,
70
+ color: color
71
+ }) : null));
72
+ };
73
+
74
+ export default HeaderBackButton;
75
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/atom/header-back-button/index.native.tsx"],"names":["React","useState","useEffect","View","StyleSheet","NovaSolidPlacesPlacesHome2","HomeIcon","NovaSolidStatusClose","CloseIcon","useTemplateContext","Touchable","HeaderBackIcon","HOME_ICON_HEIGHT","CLOSE_ICON_HEIGHT","BACK_ICON_HEIGHT","createStyleSheet","brandTheme","theme","statusBarHeight","create","container","paddingLeft","spacing","base","floating","paddingTop","position","top","noSafeArea","HeaderBackButton","props","templateContext","styleSheet","setStylesheet","display","type","color","colors","white","onPress","isFloating","testID","_stylesheet"],"mappings":"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","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {View, StyleSheet} from 'react-native';\nimport type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport {\n NovaSolidPlacesPlacesHome2 as HomeIcon,\n NovaSolidStatusClose as CloseIcon\n} from '@coorpacademy/nova-icons';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport Touchable from '../../hoc/touchable/index.native';\nimport HeaderBackIcon from '../header-back-icon/index.native';\nimport {Theme} from '../../variables/theme.native';\n\nexport const HOME_ICON_HEIGHT = 20;\nexport const CLOSE_ICON_HEIGHT = 16;\nexport const BACK_ICON_HEIGHT = 20;\n\nexport type Props = {\n type: 'close' | 'back' | 'home';\n color?: string;\n onPress?: (event: PressEvent) => any;\n isFloating?: boolean;\n noSafeArea?: boolean;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n paddingLeft: number;\n };\n floating: {\n paddingTop: number;\n position: string;\n top: number;\n };\n noSafeArea: {\n top: 0;\n };\n};\n\nconst createStyleSheet = (brandTheme, theme: Theme, statusBarHeight: number) =>\n StyleSheet.create({\n container: {\n paddingLeft: theme.spacing.base\n },\n floating: {\n paddingTop: theme.spacing.base,\n position: 'absolute',\n top: statusBarHeight\n },\n noSafeArea: {\n top: 0\n }\n });\n\nconst HeaderBackButton = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {\n brandTheme,\n theme,\n display: {statusBarHeight}\n } = templateContext;\n\n const {\n type,\n color = theme.colors.white,\n onPress,\n isFloating = true,\n noSafeArea = false,\n testID = 'default-header-back-button-test-id'\n } = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme, statusBarHeight);\n setStylesheet(_stylesheet);\n }, [brandTheme, theme, statusBarHeight]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View\n style={[\n styleSheet.container,\n isFloating && styleSheet.floating,\n isFloating && noSafeArea && styleSheet.noSafeArea\n ]}\n >\n <Touchable testID={testID} onPress={onPress} analyticsID=\"button-close\">\n {type === 'home' ? (\n <HomeIcon height={HOME_ICON_HEIGHT} width={HOME_ICON_HEIGHT} color={color} />\n ) : null}\n {type === 'close' ? (\n <CloseIcon height={CLOSE_ICON_HEIGHT} width={CLOSE_ICON_HEIGHT} color={color} />\n ) : null}\n {type === 'back' ? (\n <HeaderBackIcon height={BACK_ICON_HEIGHT} width={BACK_ICON_HEIGHT} color={color} />\n ) : null}\n </Touchable>\n </View>\n );\n};\n\nexport default HeaderBackButton;\n"],"file":"index.native.js"}
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import { NovaCompositionNavigationArrowLeft as BackIcon } from '@coorpacademy/nova-icons';
4
+ import { useTemplateContext } from '../../template/app-review/template-context';
5
+
6
+ const HeaderBackIcon = props => {
7
+ const templateContext = useTemplateContext();
8
+ const {
9
+ theme
10
+ } = templateContext;
11
+ const {
12
+ color = theme.colors.gray.dark,
13
+ height = 16,
14
+ width = 16,
15
+ style
16
+ } = props;
17
+ return /*#__PURE__*/React.createElement(View, {
18
+ style: style
19
+ }, /*#__PURE__*/React.createElement(BackIcon, {
20
+ color: color,
21
+ height: height,
22
+ width: width
23
+ }));
24
+ };
25
+
26
+ export default HeaderBackIcon;
27
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/atom/header-back-icon/index.native.tsx"],"names":["React","View","NovaCompositionNavigationArrowLeft","BackIcon","useTemplateContext","HeaderBackIcon","props","templateContext","theme","color","colors","gray","dark","height","width","style"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAQC,IAAR,QAA8B,cAA9B;AACA,SAAQC,kCAAkC,IAAIC,QAA9C,QAA6D,0BAA7D;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;;AASA,MAAMC,cAAc,GAAIC,KAAD,IAAkB;AACvC,QAAMC,eAAe,GAAGH,kBAAkB,EAA1C;AACA,QAAM;AAACI,IAAAA;AAAD,MAAUD,eAAhB;AAEA,QAAM;AAACE,IAAAA,KAAK,GAAGD,KAAK,CAACE,MAAN,CAAaC,IAAb,CAAkBC,IAA3B;AAAiCC,IAAAA,MAAM,GAAG,EAA1C;AAA8CC,IAAAA,KAAK,GAAG,EAAtD;AAA0DC,IAAAA;AAA1D,MAAmET,KAAzE;AAEA,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAES;AAAb,kBACE,oBAAC,QAAD;AAAU,IAAA,KAAK,EAAEN,KAAjB;AAAwB,IAAA,MAAM,EAAEI,MAAhC;AAAwC,IAAA,KAAK,EAAEC;AAA/C,IADF,CADF;AAKD,CAXD;;AAaA,eAAeT,cAAf","sourcesContent":["import React from 'react';\nimport {View, ViewStyle} from 'react-native';\nimport {NovaCompositionNavigationArrowLeft as BackIcon} from '@coorpacademy/nova-icons';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type Props = {\n color?: string;\n height?: number;\n width?: number;\n style?: ViewStyle;\n};\n\nconst HeaderBackIcon = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const {color = theme.colors.gray.dark, height = 16, width = 16, style} = props;\n\n return (\n <View style={style}>\n <BackIcon color={color} height={height} width={width} />\n </View>\n );\n};\n\nexport default HeaderBackIcon;\n"],"file":"index.native.js"}
@@ -1,7 +1,6 @@
1
1
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
3
  import React, { useMemo, useRef, useEffect, useState } from 'react';
4
- import PropTypes from 'prop-types';
5
4
  import classnames from 'classnames';
6
5
  import lottie from 'lottie-web';
7
6
  import get from 'lodash/fp/get';
@@ -11,12 +10,7 @@ import keys from 'lodash/fp/keys';
11
10
  import omit from 'lodash/fp/omit';
12
11
  import unfetch from 'isomorphic-unfetch';
13
12
  import style from './style.css';
14
- export const ANIMATION_CONTROL = {
15
- play: 'play',
16
- pause: 'pause',
17
- stop: 'stop',
18
- loading: 'loading'
19
- };
13
+ import propTypes, { ANIMATION_CONTROL } from './prop-types';
20
14
 
21
15
  const isIE11 = () => {
22
16
  if (typeof window === 'undefined') return;
@@ -137,22 +131,6 @@ const LottieWrapper = props => {
137
131
  }) : null);
138
132
  };
139
133
 
140
- LottieWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
141
- 'aria-label': PropTypes.string.isRequired,
142
- 'data-name': PropTypes.string,
143
- animationSrc: PropTypes.string.isRequired,
144
- loop: PropTypes.bool,
145
- rendererSettings: PropTypes.shape({
146
- hideOnTransparent: PropTypes.bool,
147
- className: PropTypes.string
148
- }),
149
- height: PropTypes.number,
150
- width: PropTypes.number,
151
- className: PropTypes.string,
152
- ie11ImageBackup: PropTypes.string.isRequired,
153
- backupImageClassName: PropTypes.string,
154
- autoplay: PropTypes.bool,
155
- animationControl: PropTypes.oneOf(keys(ANIMATION_CONTROL))
156
- } : {};
134
+ LottieWrapper.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
157
135
  export default LottieWrapper;
158
136
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/lottie-wrapper/index.js"],"names":["React","useMemo","useRef","useEffect","useState","PropTypes","classnames","lottie","get","has","includes","keys","omit","unfetch","style","ANIMATION_CONTROL","play","pause","stop","loading","isIE11","window","userAgent","hasMsCrypto","hasRevision","hasTrident","fetchAndLoadAnimation","_lottie","_fetch","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","autoplay","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationControl","animationClassName","animationItem","setAnimationItem","isAnimationVisible","setIsAnimationVisible","_isIE11","wrapperClassName","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","destroy","name","maxWidth","maxHeight","opacity","transition","propTypes","string","isRequired","bool","shape","number","oneOf"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,EAAwBC,MAAxB,EAAgCC,SAAhC,EAA2CC,QAA3C,QAA0D,OAA1D;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,MAAP,MAAmB,YAAnB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,QAAP,MAAqB,oBAArB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,OAAP,MAAoB,oBAApB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAO,MAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,IAAI,EAAE,MADyB;AAE/BC,EAAAA,KAAK,EAAE,OAFwB;AAG/BC,EAAAA,IAAI,EAAE,MAHyB;AAI/BC,EAAAA,OAAO,EAAE;AAJsB,CAA1B;;AAOP,MAAMC,MAAM,GAAG,MAAM;AACnB,MAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AACnC,QAAMC,SAAS,GAAGd,GAAG,CAAC,qBAAD,EAAwBa,MAAxB,CAArB;AACA,QAAME,WAAW,GAAGd,GAAG,CAAC,UAAD,EAAaY,MAAb,CAAvB;AACA,QAAMG,WAAW,GAAGd,QAAQ,CAAC,KAAD,EAAQY,SAAR,CAA5B;AACA,QAAMG,UAAU,GAAGf,QAAQ,CAAC,UAAD,EAAaY,SAAb,CAA3B;AAEA,SAAOC,WAAW,IAAKC,WAAW,IAAIC,UAAtC;AACD,CARD;;AAUA,OAAO,MAAMC,qBAAqB,GAAG,OACnCC,OADmC,EAEnCC,MAFmC,EAGnCC,YAHmC,EAInCC,YAJmC,EAKnCC,IALmC,EAMnCC,mBANmC,EAOnCC,iBAPmC,EAQnCC,QARmC,KAShC;AACH,QAAMC,YAAY,GAAG,IAAIC,GAAJ,CAAQP,YAAR,EAAsBQ,QAAtB,EAArB;AACA,QAAMC,WAAW,GAAG,MAAMV,MAAM,CAACO,YAAD,EAAe;AAC7CI,IAAAA,OAAO,EAAE;AACP,0BAAoB,gBADb;AAEP,sBAAgB;AAFT;AADoC,GAAf,CAAhC;AAOA,QAAMC,aAAa,GAAG,MAAMF,WAAW,CAACG,IAAZ,EAA5B;;AAEA,QAAMC,SAAS,GACbf,OAAO,CAACgB,aAAR,IACAhB,OAAO,CAACgB,aAAR,CAAsB;AACpBC,IAAAA,SAAS,EAAEd,YAAY,CAACe,OADJ;AACa;AACjCC,IAAAA,QAAQ,EAAE,KAFU;AAGpBZ,IAAAA,QAHoB;AAIpBH,IAAAA,IAJoB;AAKpBS,IAAAA,aALoB;AAMpBO,IAAAA,gBAAgB,EAAE;AAChBC,MAAAA,SAAS,EAAEhB,mBADK;AAEhBC,MAAAA,iBAFgB;AAGhBgB,MAAAA,mBAAmB,EAAE,eAHL,CAGqB;;AAHrB;AANE,GAAtB,CAFF;;AAcA,SAAOP,SAAP;AACD,CAnCM;;AAqCP,MAAMQ,aAAa,GAAGC,KAAK,IAAI;AAC7B,QAAM;AACJH,IAAAA,SADI;AAEJ,iBAAaI,QAFT;AAGJ,kBAAcC,SAHV;AAIJxB,IAAAA,YAJI;AAKJE,IAAAA,IAAI,GAAG,KALH;AAMJgB,IAAAA,gBAAgB,GAAG,EANf;AAOJO,IAAAA,KAPI;AAQJC,IAAAA,MARI;AASJC,IAAAA,eATI;AAUJC,IAAAA,oBAVI;AAWJvB,IAAAA,QAAQ,GAAG,IAXP;AAYJwB,IAAAA;AAZI,MAaFP,KAbJ;AAeA,QAAM;AAACH,IAAAA,SAAS,EAAEW,kBAAZ;AAAgC1B,IAAAA,iBAAiB,GAAG;AAApD,MAA4Dc,gBAAlE;AAEA,QAAMjB,YAAY,GAAG5B,MAAM,CAAC,IAAD,CAA3B,CAlB6B,CAoB7B;;AACA,QAAM,CAAC0D,aAAD,EAAgBC,gBAAhB,IAAoCzD,QAAQ,CAAC,IAAD,CAAlD;AAEA,QAAM,CAAC0D,kBAAD,EAAqBC,qBAArB,IAA8C3D,QAAQ,CAAC8B,QAAD,CAA5D;;AAEA,QAAM8B,OAAO,GAAG/D,OAAO,CAAC,MAAMmB,MAAM,EAAb,EAAiB,EAAjB,CAAvB;;AAEA,QAAM6C,gBAAgB,GAAGhE,OAAO,CAAC,MAAMK,UAAU,CAAC0C,SAAD,EAAYlC,KAAK,CAACoD,eAAlB,CAAjB,EAAqD,CAAClB,SAAD,CAArD,CAAhC;AAEA,QAAMmB,wBAAwB,GAAGlE,OAAO,CAAC,MAAMK,UAAU,CAACqD,kBAAD,EAAqB7C,KAAK,CAAC4B,SAA3B,CAAjB,EAAwD,CAC9FiB,kBAD8F,CAAxD,CAAxC;AAIA,QAAMS,wBAAwB,GAAGnE,OAAO,CACtC,MAAMK,UAAU,CAACmD,oBAAD,EAAuB3C,KAAK,CAACuD,WAA7B,CADsB,EAEtC,CAACZ,oBAAD,CAFsC,CAAxC;AAKAtD,EAAAA,SAAS,CAAC,MAAM;AACd;AACA;;AACA;AACA,QAAIO,QAAQ,CAACgD,gBAAD,EAAmB/C,IAAI,CAACC,IAAI,CAAC,SAAD,EAAYG,iBAAZ,CAAL,CAAvB,CAAR,IAAwE,CAACmB,QAA7E,EAAuF;AACrF6B,MAAAA,qBAAqB,CAAC,IAAD,CAArB;AACA,UAAIH,aAAJ,EAAmBA,aAAa,CAACF,gBAAD,CAAb;AACnB,UAAIA,gBAAgB,KAAK3C,iBAAiB,CAACG,IAA3C,EAAiD6C,qBAAqB,CAAC,KAAD,CAArB;AAClD;AACF,GATQ,EASN,CAACL,gBAAD,EAAmBE,aAAnB,EAAkC1B,QAAlC,CATM,CAAT;AAWA/B,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMwC,aAAa,GAAG,YAAY;AAChC,UAAI,CAACqB,OAAD,IAAY,CAACJ,aAAjB,EAAgC;AAC9B;AACA,YAAI,OAAOvC,MAAP,KAAkB,WAAtB,EAAmC;AACjCA,UAAAA,MAAM,CAACd,MAAP,GAAgBA,MAAhB;AACD;;AACD,cAAMmC,SAAS,GAAG,MAAMhB,qBAAqB,CAC3CnB,MAD2C,EAE3CM,OAF2C,EAG3CgB,YAH2C,EAI3CC,YAJ2C,EAK3CC,IAL2C,EAM3CoC,wBAN2C,EAO3ClC,iBAP2C,EAQ3CC,QAR2C,CAA7C;AAWA;;AACA2B,QAAAA,gBAAgB,CAACnB,SAAD,CAAhB;AACD;AACF,KApBD;;AAsBAC,IAAAA,aAAa;AACb,WAAO,MAAMiB,aAAa;AAAI;AAA2BrD,IAAAA,MAAM,CAAC+D,OAAP,CAAeV,aAAa,CAACW,IAA7B,CAAzD;AACD,GAzBQ,EAyBN,CACDJ,wBADC,EAEDrC,YAFC,EAGDG,iBAHC,EAIDF,IAJC,EAKDF,YALC,EAMDmC,OANC,EAODJ,aAPC,EAQD1B,QARC,CAzBM,CAAT;AAoCA,sBACE;AACE,IAAA,GAAG,EAAEJ,YADP;AAEE,kBAAYuB,SAFd;AAGE,iBAAWD,QAHb;AAIE,IAAA,SAAS,EAAEa,gBAJb;AAKE,IAAA,KAAK,iCACCX,KAAK,IAAI;AACXA,MAAAA,KAAK,EAAG,GAAEA,KAAM,IADL;AAEXkB,MAAAA,QAAQ,EAAG,GAAElB,KAAM;AAFR,KADV,GAKCC,MAAM,IAAI;AACZA,MAAAA,MAAM,EAAG,GAAEA,MAAO,IADN;AAEZkB,MAAAA,SAAS,EAAG,GAAElB,MAAO;AAFT,KALX;AASHmB,MAAAA,OAAO,EAAEZ,kBAAkB,GAAG,CAAH,GAAO,CAT/B;AAUHa,MAAAA,UAAU,EAAE;AAVT;AALP,KAkBGX,OAAO,gBACN;AACE,IAAA,GAAG,EAAER,eADP;AAEE,IAAA,SAAS,EAAEY,wBAFb;AAGE,iBAAU;AAHZ,IADM,GAMJ,IAxBN,CADF;AA4BD,CAjHD;;AAmHAlB,aAAa,CAAC0B,SAAd,2CAA0B;AACxB,gBAAcvE,SAAS,CAACwE,MAAV,CAAiBC,UADP;AAExB,eAAazE,SAAS,CAACwE,MAFC;AAGxBhD,EAAAA,YAAY,EAAExB,SAAS,CAACwE,MAAV,CAAiBC,UAHP;AAIxB/C,EAAAA,IAAI,EAAE1B,SAAS,CAAC0E,IAJQ;AAKxBhC,EAAAA,gBAAgB,EAAE1C,SAAS,CAAC2E,KAAV,CAAgB;AAChC/C,IAAAA,iBAAiB,EAAE5B,SAAS,CAAC0E,IADG;AAEhC/B,IAAAA,SAAS,EAAE3C,SAAS,CAACwE;AAFW,GAAhB,CALM;AASxBtB,EAAAA,MAAM,EAAElD,SAAS,CAAC4E,MATM;AAUxB3B,EAAAA,KAAK,EAAEjD,SAAS,CAAC4E,MAVO;AAWxBjC,EAAAA,SAAS,EAAE3C,SAAS,CAACwE,MAXG;AAYxBrB,EAAAA,eAAe,EAAEnD,SAAS,CAACwE,MAAV,CAAiBC,UAZV;AAaxBrB,EAAAA,oBAAoB,EAAEpD,SAAS,CAACwE,MAbR;AAcxB3C,EAAAA,QAAQ,EAAE7B,SAAS,CAAC0E,IAdI;AAexBrB,EAAAA,gBAAgB,EAAErD,SAAS,CAAC6E,KAAV,CAAgBvE,IAAI,CAACI,iBAAD,CAApB;AAfM,CAA1B;AAkBA,eAAemC,aAAf","sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport omit from 'lodash/fp/omit';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\n\nexport const ANIMATION_CONTROL = {\n play: 'play',\n pause: 'pause',\n stop: 'stop',\n loading: 'loading'\n};\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n _lottie,\n _fetch,\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n autoplay\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation =\n _lottie.loadAnimation &&\n _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName,\n autoplay = true,\n animationControl\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n // lottie's animation instance\n const [animationItem, setAnimationItem] = useState(null);\n\n const [isAnimationVisible, setIsAnimationVisible] = useState(autoplay);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(() => classnames(animationClassName, style.animation), [\n animationClassName\n ]);\n\n const ie11BackupImageClassName = useMemo(\n () => classnames(backupImageClassName, style.backupImage),\n [backupImageClassName]\n );\n\n useEffect(() => {\n // enzyme does not handle well the state update after an async useEffect in tests\n // to remove when the migration towards @testing-library/react is done\n /* istanbul ignore next */\n if (includes(animationControl, keys(omit('loading', ANIMATION_CONTROL))) && !autoplay) {\n setIsAnimationVisible(true);\n if (animationItem) animationItem[animationControl]();\n if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);\n }\n }, [animationControl, animationItem, autoplay]);\n\n useEffect(() => {\n const loadAnimation = async () => {\n if (!_isIE11 && !animationItem) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n window.lottie = lottie;\n }\n const animation = await fetchAndLoadAnimation(\n lottie,\n unfetch,\n animationSrc,\n containerRef,\n loop,\n lottieAnimationClassName,\n hideOnTransparent,\n autoplay\n );\n\n /* istanbul ignore next */\n setAnimationItem(animation);\n }\n };\n\n loadAnimation();\n return () => animationItem && /* istanbul ignore next */ lottie.destroy(animationItem.name);\n }, [\n lottieAnimationClassName,\n containerRef,\n hideOnTransparent,\n loop,\n animationSrc,\n _isIE11,\n animationItem,\n autoplay\n ]);\n\n return (\n <div\n ref={containerRef}\n aria-label={ariaLabel}\n data-name={dataName}\n className={wrapperClassName}\n style={{\n ...(width && {\n width: `${width}px`,\n maxWidth: `${width}px`\n }),\n ...(height && {\n height: `${height}px`,\n maxHeight: `${height}px`\n }),\n opacity: isAnimationVisible ? 1 : 0,\n transition: 'opacity 0.25s ease-in'\n }}\n >\n {_isIE11 ? (\n <img\n src={ie11ImageBackup}\n className={ie11BackupImageClassName}\n data-name=\"ie11-backup-image\"\n />\n ) : null}\n </div>\n );\n};\n\nLottieWrapper.propTypes = {\n 'aria-label': PropTypes.string.isRequired,\n 'data-name': PropTypes.string,\n animationSrc: PropTypes.string.isRequired,\n loop: PropTypes.bool,\n rendererSettings: PropTypes.shape({\n hideOnTransparent: PropTypes.bool,\n className: PropTypes.string\n }),\n height: PropTypes.number,\n width: PropTypes.number,\n className: PropTypes.string,\n ie11ImageBackup: PropTypes.string.isRequired,\n backupImageClassName: PropTypes.string,\n autoplay: PropTypes.bool,\n animationControl: PropTypes.oneOf(keys(ANIMATION_CONTROL))\n};\n\nexport default LottieWrapper;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/lottie-wrapper/index.js"],"names":["React","useMemo","useRef","useEffect","useState","classnames","lottie","get","has","includes","keys","omit","unfetch","style","propTypes","ANIMATION_CONTROL","isIE11","window","userAgent","hasMsCrypto","hasRevision","hasTrident","fetchAndLoadAnimation","_lottie","_fetch","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","autoplay","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationControl","animationClassName","animationItem","setAnimationItem","isAnimationVisible","setIsAnimationVisible","_isIE11","wrapperClassName","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","stop","destroy","name","maxWidth","maxHeight","opacity","transition"],"mappings":"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","sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport omit from 'lodash/fp/omit';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\nimport propTypes, {ANIMATION_CONTROL} from './prop-types';\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n _lottie,\n _fetch,\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n autoplay\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation =\n _lottie.loadAnimation &&\n _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName,\n autoplay = true,\n animationControl\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n // lottie's animation instance\n const [animationItem, setAnimationItem] = useState(null);\n\n const [isAnimationVisible, setIsAnimationVisible] = useState(autoplay);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(() => classnames(animationClassName, style.animation), [\n animationClassName\n ]);\n\n const ie11BackupImageClassName = useMemo(\n () => classnames(backupImageClassName, style.backupImage),\n [backupImageClassName]\n );\n\n useEffect(() => {\n // enzyme does not handle well the state update after an async useEffect in tests\n // to remove when the migration towards @testing-library/react is done\n /* istanbul ignore next */\n if (includes(animationControl, keys(omit('loading', ANIMATION_CONTROL))) && !autoplay) {\n setIsAnimationVisible(true);\n if (animationItem) animationItem[animationControl]();\n if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);\n }\n }, [animationControl, animationItem, autoplay]);\n\n useEffect(() => {\n const loadAnimation = async () => {\n if (!_isIE11 && !animationItem) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n window.lottie = lottie;\n }\n const animation = await fetchAndLoadAnimation(\n lottie,\n unfetch,\n animationSrc,\n containerRef,\n loop,\n lottieAnimationClassName,\n hideOnTransparent,\n autoplay\n );\n\n /* istanbul ignore next */\n setAnimationItem(animation);\n }\n };\n\n loadAnimation();\n return () => animationItem && /* istanbul ignore next */ lottie.destroy(animationItem.name);\n }, [\n lottieAnimationClassName,\n containerRef,\n hideOnTransparent,\n loop,\n animationSrc,\n _isIE11,\n animationItem,\n autoplay\n ]);\n\n return (\n <div\n ref={containerRef}\n aria-label={ariaLabel}\n data-name={dataName}\n className={wrapperClassName}\n style={{\n ...(width && {\n width: `${width}px`,\n maxWidth: `${width}px`\n }),\n ...(height && {\n height: `${height}px`,\n maxHeight: `${height}px`\n }),\n opacity: isAnimationVisible ? 1 : 0,\n transition: 'opacity 0.25s ease-in'\n }}\n >\n {_isIE11 ? (\n <img\n src={ie11ImageBackup}\n className={ie11BackupImageClassName}\n data-name=\"ie11-backup-image\"\n />\n ) : null}\n </div>\n );\n};\n\nLottieWrapper.propTypes = propTypes;\n\nexport default LottieWrapper;\n"],"file":"index.js"}
@@ -0,0 +1,26 @@
1
+ import keys from 'lodash/fp/keys';
2
+ import PropTypes from 'prop-types';
3
+ export const ANIMATION_CONTROL = {
4
+ play: 'play',
5
+ pause: 'pause',
6
+ stop: 'stop',
7
+ loading: 'loading'
8
+ };
9
+ export default {
10
+ 'aria-label': PropTypes.string.isRequired,
11
+ 'data-name': PropTypes.string,
12
+ animationSrc: PropTypes.string.isRequired,
13
+ loop: PropTypes.bool,
14
+ rendererSettings: PropTypes.shape({
15
+ hideOnTransparent: PropTypes.bool,
16
+ className: PropTypes.string
17
+ }),
18
+ height: PropTypes.number,
19
+ width: PropTypes.number,
20
+ className: PropTypes.string,
21
+ ie11ImageBackup: PropTypes.string.isRequired,
22
+ backupImageClassName: PropTypes.string,
23
+ autoplay: PropTypes.bool,
24
+ animationControl: PropTypes.oneOf(keys(ANIMATION_CONTROL))
25
+ };
26
+ //# sourceMappingURL=prop-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/atom/lottie-wrapper/prop-types.js"],"names":["keys","PropTypes","ANIMATION_CONTROL","play","pause","stop","loading","string","isRequired","animationSrc","loop","bool","rendererSettings","shape","hideOnTransparent","className","height","number","width","ie11ImageBackup","backupImageClassName","autoplay","animationControl","oneOf"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,gBAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAO,MAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,IAAI,EAAE,MADyB;AAE/BC,EAAAA,KAAK,EAAE,OAFwB;AAG/BC,EAAAA,IAAI,EAAE,MAHyB;AAI/BC,EAAAA,OAAO,EAAE;AAJsB,CAA1B;AAOP,eAAe;AACb,gBAAcL,SAAS,CAACM,MAAV,CAAiBC,UADlB;AAEb,eAAaP,SAAS,CAACM,MAFV;AAGbE,EAAAA,YAAY,EAAER,SAAS,CAACM,MAAV,CAAiBC,UAHlB;AAIbE,EAAAA,IAAI,EAAET,SAAS,CAACU,IAJH;AAKbC,EAAAA,gBAAgB,EAAEX,SAAS,CAACY,KAAV,CAAgB;AAChCC,IAAAA,iBAAiB,EAAEb,SAAS,CAACU,IADG;AAEhCI,IAAAA,SAAS,EAAEd,SAAS,CAACM;AAFW,GAAhB,CALL;AASbS,EAAAA,MAAM,EAAEf,SAAS,CAACgB,MATL;AAUbC,EAAAA,KAAK,EAAEjB,SAAS,CAACgB,MAVJ;AAWbF,EAAAA,SAAS,EAAEd,SAAS,CAACM,MAXR;AAYbY,EAAAA,eAAe,EAAElB,SAAS,CAACM,MAAV,CAAiBC,UAZrB;AAabY,EAAAA,oBAAoB,EAAEnB,SAAS,CAACM,MAbnB;AAcbc,EAAAA,QAAQ,EAAEpB,SAAS,CAACU,IAdP;AAebW,EAAAA,gBAAgB,EAAErB,SAAS,CAACsB,KAAV,CAAgBvB,IAAI,CAACE,iBAAD,CAApB;AAfL,CAAf","sourcesContent":["import keys from 'lodash/fp/keys';\nimport PropTypes from 'prop-types';\n\nexport const ANIMATION_CONTROL = {\n play: 'play',\n pause: 'pause',\n stop: 'stop',\n loading: 'loading'\n};\n\nexport default {\n 'aria-label': PropTypes.string.isRequired,\n 'data-name': PropTypes.string,\n animationSrc: PropTypes.string.isRequired,\n loop: PropTypes.bool,\n rendererSettings: PropTypes.shape({\n hideOnTransparent: PropTypes.bool,\n className: PropTypes.string\n }),\n height: PropTypes.number,\n width: PropTypes.number,\n className: PropTypes.string,\n ie11ImageBackup: PropTypes.string.isRequired,\n backupImageClassName: PropTypes.string,\n autoplay: PropTypes.bool,\n animationControl: PropTypes.oneOf(keys(ANIMATION_CONTROL))\n};\n"],"file":"prop-types.js"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import style from './style.css';
3
+ import propTypes from './prop-types';
4
4
 
5
5
  const ReviewBackground = props => {
6
6
  const {
@@ -28,8 +28,6 @@ const ReviewBackground = props => {
28
28
  })));
29
29
  };
30
30
 
31
- ReviewBackground.propTypes = process.env.NODE_ENV !== "production" ? {
32
- 'aria-label': PropTypes.string
33
- } : {};
31
+ ReviewBackground.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
34
32
  export default ReviewBackground;
35
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/review-background/index.js"],"names":["React","PropTypes","style","ReviewBackground","props","ariaLabel","mainContainer","container","interrogationLeft","interrogationRight","recYellow","recRed","recBlue","recGreen","recGreenLight","propTypes","string"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,gBAAgB,GAAGC,KAAK,IAAI;AAChC,QAAM;AAAC,kBAAcC;AAAf,MAA4BD,KAAlC;AACA,sBACE;AAAK,IAAA,SAAS,EAAEF,KAAK,CAACI,aAAtB;AAAqC,kBAAYD;AAAjD,kBACE;AAAK,IAAA,SAAS,EAAEH,KAAK,CAACK;AAAtB,kBACE;AAAM,IAAA,SAAS,EAAEL,KAAK,CAACM;AAAvB,SADF,eAEE;AAAM,IAAA,SAAS,EAAEN,KAAK,CAACO;AAAvB,SAFF,eAGE;AAAK,IAAA,SAAS,EAAEP,KAAK,CAACQ;AAAtB,IAHF,eAIE;AAAK,IAAA,SAAS,EAAER,KAAK,CAACS;AAAtB,IAJF,eAKE;AAAK,IAAA,SAAS,EAAET,KAAK,CAACU;AAAtB,IALF,eAME;AAAK,IAAA,SAAS,EAAEV,KAAK,CAACW;AAAtB,IANF,eAOE;AAAK,IAAA,SAAS,EAAEX,KAAK,CAACY;AAAtB,IAPF,CADF,CADF;AAaD,CAfD;;AAiBAX,gBAAgB,CAACY,SAAjB,2CAA6B;AAAC,gBAAcd,SAAS,CAACe;AAAzB,CAA7B;AAEA,eAAeb,gBAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport style from './style.css';\n\nconst ReviewBackground = props => {\n const {'aria-label': ariaLabel} = props;\n return (\n <div className={style.mainContainer} aria-label={ariaLabel}>\n <div className={style.container}>\n <span className={style.interrogationLeft}>?</span>\n <span className={style.interrogationRight}>?</span>\n <div className={style.recYellow} />\n <div className={style.recRed} />\n <div className={style.recBlue} />\n <div className={style.recGreen} />\n <div className={style.recGreenLight} />\n </div>\n </div>\n );\n};\n\nReviewBackground.propTypes = {'aria-label': PropTypes.string};\n\nexport default ReviewBackground;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/review-background/index.js"],"names":["React","style","propTypes","ReviewBackground","props","ariaLabel","mainContainer","container","interrogationLeft","interrogationRight","recYellow","recRed","recBlue","recGreen","recGreenLight"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;;AAEA,MAAMC,gBAAgB,GAAGC,KAAK,IAAI;AAChC,QAAM;AAAC,kBAAcC;AAAf,MAA4BD,KAAlC;AACA,sBACE;AAAK,IAAA,SAAS,EAAEH,KAAK,CAACK,aAAtB;AAAqC,kBAAYD;AAAjD,kBACE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACM;AAAtB,kBACE;AAAM,IAAA,SAAS,EAAEN,KAAK,CAACO;AAAvB,SADF,eAEE;AAAM,IAAA,SAAS,EAAEP,KAAK,CAACQ;AAAvB,SAFF,eAGE;AAAK,IAAA,SAAS,EAAER,KAAK,CAACS;AAAtB,IAHF,eAIE;AAAK,IAAA,SAAS,EAAET,KAAK,CAACU;AAAtB,IAJF,eAKE;AAAK,IAAA,SAAS,EAAEV,KAAK,CAACW;AAAtB,IALF,eAME;AAAK,IAAA,SAAS,EAAEX,KAAK,CAACY;AAAtB,IANF,eAOE;AAAK,IAAA,SAAS,EAAEZ,KAAK,CAACa;AAAtB,IAPF,CADF,CADF;AAaD,CAfD;;AAiBAX,gBAAgB,CAACD,SAAjB,2CAA6BA,SAA7B;AAEA,eAAeC,gBAAf","sourcesContent":["import React from 'react';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst ReviewBackground = props => {\n const {'aria-label': ariaLabel} = props;\n return (\n <div className={style.mainContainer} aria-label={ariaLabel}>\n <div className={style.container}>\n <span className={style.interrogationLeft}>?</span>\n <span className={style.interrogationRight}>?</span>\n <div className={style.recYellow} />\n <div className={style.recRed} />\n <div className={style.recBlue} />\n <div className={style.recGreen} />\n <div className={style.recGreenLight} />\n </div>\n </div>\n );\n};\n\nReviewBackground.propTypes = propTypes;\n\nexport default ReviewBackground;\n"],"file":"index.js"}
@@ -0,0 +1,5 @@
1
+ import PropTypes from 'prop-types';
2
+ export default {
3
+ 'aria-label': PropTypes.string
4
+ };
5
+ //# sourceMappingURL=prop-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/atom/review-background/prop-types.js"],"names":["PropTypes","string"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,eAAe;AAAC,gBAAcA,SAAS,CAACC;AAAzB,CAAf","sourcesContent":["import PropTypes from 'prop-types';\n\nexport default {'aria-label': PropTypes.string};\n"],"file":"prop-types.js"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import classnames from 'classnames';
3
- import PropTypes from 'prop-types';
4
3
  import { NovaCompositionCoorpacademyCheck as RightIcon, NovaSolidStatusClose as WrongIcon } from '@coorpacademy/nova-icons';
5
4
  import style from './style.css';
5
+ import propTypes from './prop-types';
6
6
  export const ICON_VALUES = {
7
7
  right: 'right',
8
8
  wrong: 'wrong',
@@ -51,10 +51,6 @@ const ReviewHeaderStepItem = props => {
51
51
  }, /*#__PURE__*/React.createElement(Content, props));
52
52
  };
53
53
 
54
- ReviewHeaderStepItem.propTypes = process.env.NODE_ENV !== "production" ? {
55
- icon: PropTypes.string,
56
- current: PropTypes.bool,
57
- value: PropTypes.string
58
- } : {};
54
+ ReviewHeaderStepItem.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
59
55
  export default ReviewHeaderStepItem;
60
56
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/review-header-step-item/index.js"],"names":["React","classnames","PropTypes","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","style","ICON_VALUES","right","wrong","Content","icon","current","value","rightIcon","currentRightIcon","wrongIcon","currentWrongIcon","ReviewHeaderStepItem","props","default","propTypes","string","bool"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SACEC,gCAAgC,IAAIC,SADtC,EAEEC,oBAAoB,IAAIC,SAF1B,QAGO,0BAHP;AAIA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAO,MAAMC,WAAW,GAAG;AACzBC,EAAAA,KAAK,EAAE,OADkB;AAEzBC,EAAAA,KAAK,EAAE,OAFkB;AAGzB,eAAa;AAHY,CAApB;;AAMP,MAAMC,OAAO,GAAG,CAAC;AAACC,EAAAA,IAAD;AAAOC,EAAAA,OAAP;AAAgBC,EAAAA;AAAhB,CAAD,KAA4B;AAC1C,MAAIF,IAAI,KAAKJ,WAAW,CAAC,WAAD,CAAxB,EAAuC;AACrC,wBACE;AAAM,MAAA,SAAS,EAAED,KAAK,CAACO,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,OACGA,KADH,CADF;AAKD;;AAED,MAAIF,IAAI,KAAKJ,WAAW,CAACC,KAAzB,EAAgC;AAC9B,wBACE;AAAM,MAAA,SAAS,EAAEF,KAAK,CAACO,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,oBACE,oBAAC,SAAD;AAAW,MAAA,SAAS,EAAEb,UAAU,CAACM,KAAK,CAACQ,SAAP,EAAkBF,OAAO,IAAIN,KAAK,CAACS,gBAAnC;AAAhC,MADF,CADF;AAKD;;AAED,MAAIJ,IAAI,KAAKJ,WAAW,CAACE,KAAzB,EAAgC;AAC9B,wBACE;AAAM,MAAA,SAAS,EAAEH,KAAK,CAACO,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,oBACE,oBAAC,SAAD;AAAW,MAAA,SAAS,EAAEb,UAAU,CAACM,KAAK,CAACU,SAAP,EAAkBJ,OAAO,IAAIN,KAAK,CAACW,gBAAnC;AAAhC,MADF,CADF;AAKD;AACF,CAxBD;;AA0BA,MAAMC,oBAAoB,GAAGC,KAAK,IAAI;AACpC,QAAM;AAACR,IAAAA,IAAD;AAAOC,IAAAA;AAAP,MAAkBO,KAAxB;AACA,sBACE;AACE,IAAA,SAAS,EAAEnB,UAAU,CACnBM,KAAK,CAACc,OADa,EAEnBT,IAAI,KAAKJ,WAAW,CAACC,KAArB,IAA8BF,KAAK,CAACE,KAFjB,EAGnBG,IAAI,KAAKJ,WAAW,CAACE,KAArB,IAA8BH,KAAK,CAACG,KAHjB,EAInBG,OAAO,IAAIN,KAAK,CAACM,OAJE,CADvB;AAOE,iBAAU;AAPZ,kBASE,oBAAC,OAAD,EAAaO,KAAb,CATF,CADF;AAaD,CAfD;;AAiBAD,oBAAoB,CAACG,SAArB,2CAAiC;AAC/BV,EAAAA,IAAI,EAAEV,SAAS,CAACqB,MADe;AAE/BV,EAAAA,OAAO,EAAEX,SAAS,CAACsB,IAFY;AAG/BV,EAAAA,KAAK,EAAEZ,SAAS,CAACqB;AAHc,CAAjC;AAMA,eAAeJ,oBAAf","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nexport const ICON_VALUES = {\n right: 'right',\n wrong: 'wrong',\n 'no-answer': 'no-answer'\n};\n\nconst Content = ({icon, current, value}) => {\n if (icon === ICON_VALUES['no-answer']) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n {value}\n </span>\n );\n }\n\n if (icon === ICON_VALUES.right) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n <RightIcon className={classnames(style.rightIcon, current && style.currentRightIcon)} />\n </span>\n );\n }\n\n if (icon === ICON_VALUES.wrong) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n <WrongIcon className={classnames(style.wrongIcon, current && style.currentWrongIcon)} />\n </span>\n );\n }\n};\n\nconst ReviewHeaderStepItem = props => {\n const {icon, current} = props;\n return (\n <div\n className={classnames(\n style.default,\n icon === ICON_VALUES.right && style.right,\n icon === ICON_VALUES.wrong && style.wrong,\n current && style.current\n )}\n data-name=\"header-step-item\"\n >\n <Content {...props} />\n </div>\n );\n};\n\nReviewHeaderStepItem.propTypes = {\n icon: PropTypes.string,\n current: PropTypes.bool,\n value: PropTypes.string\n};\n\nexport default ReviewHeaderStepItem;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/review-header-step-item/index.js"],"names":["React","classnames","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","style","propTypes","ICON_VALUES","right","wrong","Content","icon","current","value","rightIcon","currentRightIcon","wrongIcon","currentWrongIcon","ReviewHeaderStepItem","props","default"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SACEC,gCAAgC,IAAIC,SADtC,EAEEC,oBAAoB,IAAIC,SAF1B,QAGO,0BAHP;AAIA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AAEA,OAAO,MAAMC,WAAW,GAAG;AACzBC,EAAAA,KAAK,EAAE,OADkB;AAEzBC,EAAAA,KAAK,EAAE,OAFkB;AAGzB,eAAa;AAHY,CAApB;;AAMP,MAAMC,OAAO,GAAG,CAAC;AAACC,EAAAA,IAAD;AAAOC,EAAAA,OAAP;AAAgBC,EAAAA;AAAhB,CAAD,KAA4B;AAC1C,MAAIF,IAAI,KAAKJ,WAAW,CAAC,WAAD,CAAxB,EAAuC;AACrC,wBACE;AAAM,MAAA,SAAS,EAAEF,KAAK,CAACQ,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,OACGA,KADH,CADF;AAKD;;AAED,MAAIF,IAAI,KAAKJ,WAAW,CAACC,KAAzB,EAAgC;AAC9B,wBACE;AAAM,MAAA,SAAS,EAAEH,KAAK,CAACQ,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,oBACE,oBAAC,SAAD;AAAW,MAAA,SAAS,EAAEb,UAAU,CAACK,KAAK,CAACS,SAAP,EAAkBF,OAAO,IAAIP,KAAK,CAACU,gBAAnC;AAAhC,MADF,CADF;AAKD;;AAED,MAAIJ,IAAI,KAAKJ,WAAW,CAACE,KAAzB,EAAgC;AAC9B,wBACE;AAAM,MAAA,SAAS,EAAEJ,KAAK,CAACQ,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,oBACE,oBAAC,SAAD;AAAW,MAAA,SAAS,EAAEb,UAAU,CAACK,KAAK,CAACW,SAAP,EAAkBJ,OAAO,IAAIP,KAAK,CAACY,gBAAnC;AAAhC,MADF,CADF;AAKD;AACF,CAxBD;;AA0BA,MAAMC,oBAAoB,GAAGC,KAAK,IAAI;AACpC,QAAM;AAACR,IAAAA,IAAD;AAAOC,IAAAA;AAAP,MAAkBO,KAAxB;AACA,sBACE;AACE,IAAA,SAAS,EAAEnB,UAAU,CACnBK,KAAK,CAACe,OADa,EAEnBT,IAAI,KAAKJ,WAAW,CAACC,KAArB,IAA8BH,KAAK,CAACG,KAFjB,EAGnBG,IAAI,KAAKJ,WAAW,CAACE,KAArB,IAA8BJ,KAAK,CAACI,KAHjB,EAInBG,OAAO,IAAIP,KAAK,CAACO,OAJE,CADvB;AAOE,iBAAU;AAPZ,kBASE,oBAAC,OAAD,EAAaO,KAAb,CATF,CADF;AAaD,CAfD;;AAiBAD,oBAAoB,CAACZ,SAArB,2CAAiCA,SAAjC;AAEA,eAAeY,oBAAf","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nexport const ICON_VALUES = {\n right: 'right',\n wrong: 'wrong',\n 'no-answer': 'no-answer'\n};\n\nconst Content = ({icon, current, value}) => {\n if (icon === ICON_VALUES['no-answer']) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n {value}\n </span>\n );\n }\n\n if (icon === ICON_VALUES.right) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n <RightIcon className={classnames(style.rightIcon, current && style.currentRightIcon)} />\n </span>\n );\n }\n\n if (icon === ICON_VALUES.wrong) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n <WrongIcon className={classnames(style.wrongIcon, current && style.currentWrongIcon)} />\n </span>\n );\n }\n};\n\nconst ReviewHeaderStepItem = props => {\n const {icon, current} = props;\n return (\n <div\n className={classnames(\n style.default,\n icon === ICON_VALUES.right && style.right,\n icon === ICON_VALUES.wrong && style.wrong,\n current && style.current\n )}\n data-name=\"header-step-item\"\n >\n <Content {...props} />\n </div>\n );\n};\n\nReviewHeaderStepItem.propTypes = propTypes;\n\nexport default ReviewHeaderStepItem;\n"],"file":"index.js"}
@@ -0,0 +1,7 @@
1
+ import PropTypes from 'prop-types';
2
+ export default {
3
+ icon: PropTypes.string,
4
+ current: PropTypes.bool,
5
+ value: PropTypes.string
6
+ };
7
+ //# sourceMappingURL=prop-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/atom/review-header-step-item/prop-types.js"],"names":["PropTypes","icon","string","current","bool","value"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,eAAe;AACbC,EAAAA,IAAI,EAAED,SAAS,CAACE,MADH;AAEbC,EAAAA,OAAO,EAAEH,SAAS,CAACI,IAFN;AAGbC,EAAAA,KAAK,EAAEL,SAAS,CAACE;AAHJ,CAAf","sourcesContent":["import PropTypes from 'prop-types';\n\nexport default {\n icon: PropTypes.string,\n current: PropTypes.bool,\n value: PropTypes.string\n};\n"],"file":"prop-types.js"}
@@ -4,6 +4,7 @@ import getOr from 'lodash/fp/getOr';
4
4
  import map from 'lodash/fp/map';
5
5
  import { NovaSolidStatusCheckCircle2 as CheckIcon, NovaSolidVoteRewardsVoteHeart as HeartIcon, NovaCompositionCoorpacademyInformationIcon as InformationIcon, NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon, NovaLineSelectionCursorsCursorArrowTarget as TargetIcon } from '@coorpacademy/nova-icons';
6
6
  import style from './style.css';
7
+ import propTypes from './prop-types';
7
8
  const ICONS = {
8
9
  skills: TargetIcon,
9
10
  questions: QuestionIcon,
@@ -86,23 +87,9 @@ const ReviewPresentation = props => {
86
87
  }, labelsList)));
87
88
  };
88
89
 
89
- const levelItem = process.env.NODE_ENV !== "production" ? PropTypes.shape({
90
- text: PropTypes.string,
91
- tooltipText: PropTypes.string
92
- }) : {};
93
90
  ToolTip.propTypes = process.env.NODE_ENV !== "production" ? {
94
91
  tooltipText: PropTypes.string
95
92
  } : {};
96
- ReviewPresentation.propTypes = process.env.NODE_ENV !== "production" ? {
97
- 'aria-label': PropTypes.string,
98
- reviewTitle: PropTypes.string,
99
- reviewText: PropTypes.string,
100
- labelsList: PropTypes.shape({
101
- skills: levelItem,
102
- questions: levelItem,
103
- lifes: levelItem,
104
- allright: levelItem
105
- })
106
- } : {};
93
+ ReviewPresentation.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
107
94
  export default ReviewPresentation;
108
95
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/review-presentation/index.js"],"names":["React","PropTypes","getOr","map","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidVoteRewardsVoteHeart","HeartIcon","NovaCompositionCoorpacademyInformationIcon","InformationIcon","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","NovaLineSelectionCursorsCursorArrowTarget","TargetIcon","style","ICONS","skills","questions","lifes","allright","getIcon","icon","Icon","labelIcon","ToolTip","tooltipText","tooltipContainer","tooltipIconContainer","informationIcon","toolTip","ReviewPresentation","props","ariaLabel","reviewTitle","reviewText","labelsList","reviewWrapper","__html","reviewListWrapper","convert","cap","label","key","reviewList","reviewListItemWrapper","reviewListText","text","levelItem","shape","string","propTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport map from 'lodash/fp/map';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidVoteRewardsVoteHeart as HeartIcon,\n NovaCompositionCoorpacademyInformationIcon as InformationIcon,\n NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon,\n NovaLineSelectionCursorsCursorArrowTarget as TargetIcon\n} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nconst ICONS = {\n skills: TargetIcon,\n questions: QuestionIcon,\n lifes: HeartIcon,\n allright: CheckIcon\n};\n\nconst getIcon = icon => {\n const Icon = getOr(null, icon, ICONS);\n\n /* istanbul ignore next */\n if (!Icon) {\n return <div className={style.labelIcon} />;\n }\n return <Icon className={style.labelIcon} />;\n};\n\nconst ToolTip = ({tooltipText}) => {\n return (\n <div className={style.tooltipContainer}>\n <div className={style.tooltipIconContainer}>\n <InformationIcon className={style.informationIcon} width={12} height={12} />\n </div>\n <div className={style.toolTip}>\n <div className={style.tooltipText}>{tooltipText}</div>\n </div>\n </div>\n );\n};\n\nconst ReviewPresentation = props => {\n const {'aria-label': ariaLabel, reviewTitle, reviewText, labelsList} = props;\n\n return (\n <div className={style.reviewWrapper} aria-label={ariaLabel}>\n <div\n className={style.reviewTitle}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: reviewTitle}}\n />\n <div\n className={style.reviewText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: reviewText}}\n />\n <ul className={style.reviewListWrapper}>\n {map.convert({cap: false})((label, key) => {\n return (\n <li key={`step-${key}`} className={style.reviewList}>\n <div className={style.reviewListItemWrapper} data-tip data-for=\"reviewListItem\">\n <div className={style.reviewListText}>\n {getIcon(key)} {label.text}\n </div>\n <ToolTip tooltipText={label.tooltipText} />\n </div>\n </li>\n );\n }, labelsList)}\n </ul>\n </div>\n );\n};\n\nconst levelItem = PropTypes.shape({\n text: PropTypes.string,\n tooltipText: PropTypes.string\n});\n\nToolTip.propTypes = {\n tooltipText: PropTypes.string\n};\n\nReviewPresentation.propTypes = {\n 'aria-label': PropTypes.string,\n reviewTitle: PropTypes.string,\n reviewText: PropTypes.string,\n labelsList: PropTypes.shape({\n skills: levelItem,\n questions: levelItem,\n lifes: levelItem,\n allright: levelItem\n })\n};\n\nexport default ReviewPresentation;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/review-presentation/index.js"],"names":["React","PropTypes","getOr","map","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidVoteRewardsVoteHeart","HeartIcon","NovaCompositionCoorpacademyInformationIcon","InformationIcon","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","NovaLineSelectionCursorsCursorArrowTarget","TargetIcon","style","propTypes","ICONS","skills","questions","lifes","allright","getIcon","icon","Icon","labelIcon","ToolTip","tooltipText","tooltipContainer","tooltipIconContainer","informationIcon","toolTip","ReviewPresentation","props","ariaLabel","reviewTitle","reviewText","labelsList","reviewWrapper","__html","reviewListWrapper","convert","cap","label","key","reviewList","reviewListItemWrapper","reviewListText","text","string"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,SACEC,2BAA2B,IAAIC,SADjC,EAEEC,6BAA6B,IAAIC,SAFnC,EAGEC,0CAA0C,IAAIC,eAHhD,EAIEC,+CAA+C,IAAIC,YAJrD,EAKEC,yCAAyC,IAAIC,UAL/C,QAMO,0BANP;AAOA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AAEA,MAAMC,KAAK,GAAG;AACZC,EAAAA,MAAM,EAAEJ,UADI;AAEZK,EAAAA,SAAS,EAAEP,YAFC;AAGZQ,EAAAA,KAAK,EAAEZ,SAHK;AAIZa,EAAAA,QAAQ,EAAEf;AAJE,CAAd;;AAOA,MAAMgB,OAAO,GAAGC,IAAI,IAAI;AACtB,QAAMC,IAAI,GAAGrB,KAAK,CAAC,IAAD,EAAOoB,IAAP,EAAaN,KAAb,CAAlB;AAEA;;AACA,MAAI,CAACO,IAAL,EAAW;AACT,wBAAO;AAAK,MAAA,SAAS,EAAET,KAAK,CAACU;AAAtB,MAAP;AACD;;AACD,sBAAO,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAEV,KAAK,CAACU;AAAvB,IAAP;AACD,CARD;;AAUA,MAAMC,OAAO,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,KAAmB;AACjC,sBACE;AAAK,IAAA,SAAS,EAAEZ,KAAK,CAACa;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEb,KAAK,CAACc;AAAtB,kBACE,oBAAC,eAAD;AAAiB,IAAA,SAAS,EAAEd,KAAK,CAACe,eAAlC;AAAmD,IAAA,KAAK,EAAE,EAA1D;AAA8D,IAAA,MAAM,EAAE;AAAtE,IADF,CADF,eAIE;AAAK,IAAA,SAAS,EAAEf,KAAK,CAACgB;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEhB,KAAK,CAACY;AAAtB,KAAoCA,WAApC,CADF,CAJF,CADF;AAUD,CAXD;;AAaA,MAAMK,kBAAkB,GAAGC,KAAK,IAAI;AAClC,QAAM;AAAC,kBAAcC,SAAf;AAA0BC,IAAAA,WAA1B;AAAuCC,IAAAA,UAAvC;AAAmDC,IAAAA;AAAnD,MAAiEJ,KAAvE;AAEA,sBACE;AAAK,IAAA,SAAS,EAAElB,KAAK,CAACuB,aAAtB;AAAqC,kBAAYJ;AAAjD,kBACE;AACE,IAAA,SAAS,EAAEnB,KAAK,CAACoB,WADnB,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACI,MAAAA,MAAM,EAAEJ;AAAT;AAH3B,IADF,eAME;AACE,IAAA,SAAS,EAAEpB,KAAK,CAACqB,UADnB,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACG,MAAAA,MAAM,EAAEH;AAAT;AAH3B,IANF,eAWE;AAAI,IAAA,SAAS,EAAErB,KAAK,CAACyB;AAArB,KACGpC,GAAG,CAACqC,OAAJ,CAAY;AAACC,IAAAA,GAAG,EAAE;AAAN,GAAZ,EAA0B,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACzC,wBACE;AAAI,MAAA,GAAG,EAAG,QAAOA,GAAI,EAArB;AAAwB,MAAA,SAAS,EAAE7B,KAAK,CAAC8B;AAAzC,oBACE;AAAK,MAAA,SAAS,EAAE9B,KAAK,CAAC+B,qBAAtB;AAA6C,sBAA7C;AAAsD,kBAAS;AAA/D,oBACE;AAAK,MAAA,SAAS,EAAE/B,KAAK,CAACgC;AAAtB,OACGzB,OAAO,CAACsB,GAAD,CADV,OACkBD,KAAK,CAACK,IADxB,CADF,eAIE,oBAAC,OAAD;AAAS,MAAA,WAAW,EAAEL,KAAK,CAAChB;AAA5B,MAJF,CADF,CADF;AAUD,GAXA,EAWEU,UAXF,CADH,CAXF,CADF;AA4BD,CA/BD;;AAiCAX,OAAO,CAACV,SAAR,2CAAoB;AAClBW,EAAAA,WAAW,EAAEzB,SAAS,CAAC+C;AADL,CAApB;AAIAjB,kBAAkB,CAAChB,SAAnB,2CAA+BA,SAA/B;AAEA,eAAegB,kBAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport map from 'lodash/fp/map';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidVoteRewardsVoteHeart as HeartIcon,\n NovaCompositionCoorpacademyInformationIcon as InformationIcon,\n NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon,\n NovaLineSelectionCursorsCursorArrowTarget as TargetIcon\n} from '@coorpacademy/nova-icons';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst ICONS = {\n skills: TargetIcon,\n questions: QuestionIcon,\n lifes: HeartIcon,\n allright: CheckIcon\n};\n\nconst getIcon = icon => {\n const Icon = getOr(null, icon, ICONS);\n\n /* istanbul ignore next */\n if (!Icon) {\n return <div className={style.labelIcon} />;\n }\n return <Icon className={style.labelIcon} />;\n};\n\nconst ToolTip = ({tooltipText}) => {\n return (\n <div className={style.tooltipContainer}>\n <div className={style.tooltipIconContainer}>\n <InformationIcon className={style.informationIcon} width={12} height={12} />\n </div>\n <div className={style.toolTip}>\n <div className={style.tooltipText}>{tooltipText}</div>\n </div>\n </div>\n );\n};\n\nconst ReviewPresentation = props => {\n const {'aria-label': ariaLabel, reviewTitle, reviewText, labelsList} = props;\n\n return (\n <div className={style.reviewWrapper} aria-label={ariaLabel}>\n <div\n className={style.reviewTitle}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: reviewTitle}}\n />\n <div\n className={style.reviewText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: reviewText}}\n />\n <ul className={style.reviewListWrapper}>\n {map.convert({cap: false})((label, key) => {\n return (\n <li key={`step-${key}`} className={style.reviewList}>\n <div className={style.reviewListItemWrapper} data-tip data-for=\"reviewListItem\">\n <div className={style.reviewListText}>\n {getIcon(key)} {label.text}\n </div>\n <ToolTip tooltipText={label.tooltipText} />\n </div>\n </li>\n );\n }, labelsList)}\n </ul>\n </div>\n );\n};\n\nToolTip.propTypes = {\n tooltipText: PropTypes.string\n};\n\nReviewPresentation.propTypes = propTypes;\n\nexport default ReviewPresentation;\n"],"file":"index.js"}
@@ -0,0 +1,18 @@
1
+ import PropTypes from 'prop-types';
2
+ const levelItem = PropTypes.shape({
3
+ text: PropTypes.string,
4
+ tooltipText: PropTypes.string
5
+ });
6
+ const propTypes = {
7
+ 'aria-label': PropTypes.string,
8
+ reviewTitle: PropTypes.string,
9
+ reviewText: PropTypes.string,
10
+ labelsList: PropTypes.shape({
11
+ skills: levelItem,
12
+ questions: levelItem,
13
+ lifes: levelItem,
14
+ allright: levelItem
15
+ })
16
+ };
17
+ export default propTypes;
18
+ //# sourceMappingURL=prop-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/atom/review-presentation/prop-types.js"],"names":["PropTypes","levelItem","shape","text","string","tooltipText","propTypes","reviewTitle","reviewText","labelsList","skills","questions","lifes","allright"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,MAAMC,SAAS,GAAGD,SAAS,CAACE,KAAV,CAAgB;AAChCC,EAAAA,IAAI,EAAEH,SAAS,CAACI,MADgB;AAEhCC,EAAAA,WAAW,EAAEL,SAAS,CAACI;AAFS,CAAhB,CAAlB;AAKA,MAAME,SAAS,GAAG;AAChB,gBAAcN,SAAS,CAACI,MADR;AAEhBG,EAAAA,WAAW,EAAEP,SAAS,CAACI,MAFP;AAGhBI,EAAAA,UAAU,EAAER,SAAS,CAACI,MAHN;AAIhBK,EAAAA,UAAU,EAAET,SAAS,CAACE,KAAV,CAAgB;AAC1BQ,IAAAA,MAAM,EAAET,SADkB;AAE1BU,IAAAA,SAAS,EAAEV,SAFe;AAG1BW,IAAAA,KAAK,EAAEX,SAHmB;AAI1BY,IAAAA,QAAQ,EAAEZ;AAJgB,GAAhB;AAJI,CAAlB;AAYA,eAAeK,SAAf","sourcesContent":["import PropTypes from 'prop-types';\n\nconst levelItem = PropTypes.shape({\n text: PropTypes.string,\n tooltipText: PropTypes.string\n});\n\nconst propTypes = {\n 'aria-label': PropTypes.string,\n reviewTitle: PropTypes.string,\n reviewText: PropTypes.string,\n labelsList: PropTypes.shape({\n skills: levelItem,\n questions: levelItem,\n lifes: levelItem,\n allright: levelItem\n })\n};\n\nexport default propTypes;\n"],"file":"prop-types.js"}
@@ -11,5 +11,6 @@ const Spinner = () => {
11
11
  }));
12
12
  };
13
13
 
14
+ Spinner.propTypes = process.env.NODE_ENV !== "production" ? {} : {};
14
15
  export default Spinner;
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/spinner/index.js"],"names":["React","spinner","doubleBounce1","doubleBounce2","Spinner"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAQC,OAAR,EAAiBC,aAAjB,EAAgCC,aAAhC,QAAoD,aAApD;;AAEA,MAAMC,OAAO,GAAG,MAAM;AACpB,sBACE;AAAK,IAAA,SAAS,EAAEH;AAAhB,kBACE;AAAK,IAAA,SAAS,EAAEC;AAAhB,IADF,eAEE;AAAK,IAAA,SAAS,EAAEC;AAAhB,IAFF,CADF;AAMD,CAPD;;AASA,eAAeC,OAAf","sourcesContent":["import React from 'react';\nimport {spinner, doubleBounce1, doubleBounce2} from './style.css';\n\nconst Spinner = () => {\n return (\n <div className={spinner}>\n <div className={doubleBounce1} />\n <div className={doubleBounce2} />\n </div>\n );\n};\n\nexport default Spinner;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/spinner/index.js"],"names":["React","spinner","doubleBounce1","doubleBounce2","Spinner","propTypes"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAQC,OAAR,EAAiBC,aAAjB,EAAgCC,aAAhC,QAAoD,aAApD;;AAEA,MAAMC,OAAO,GAAG,MAAM;AACpB,sBACE;AAAK,IAAA,SAAS,EAAEH;AAAhB,kBACE;AAAK,IAAA,SAAS,EAAEC;AAAhB,IADF,eAEE;AAAK,IAAA,SAAS,EAAEC;AAAhB,IAFF,CADF;AAMD,CAPD;;AASAC,OAAO,CAACC,SAAR,2CAAoB,EAApB;AAEA,eAAeD,OAAf","sourcesContent":["import React from 'react';\nimport {spinner, doubleBounce1, doubleBounce2} from './style.css';\n\nconst Spinner = () => {\n return (\n <div className={spinner}>\n <div className={doubleBounce1} />\n <div className={doubleBounce2} />\n </div>\n );\n};\n\nSpinner.propTypes = {};\n\nexport default Spinner;\n"],"file":"index.js"}
@@ -11,6 +11,7 @@ const Tab = ({
11
11
  }) => {
12
12
  const handleTabClick = useMemo(() => () => onClick(targetContent), [onClick, targetContent]);
13
13
  return /*#__PURE__*/React.createElement("div", {
14
+ "data-name": "tab",
14
15
  className: style.tab,
15
16
  onClick: handleTabClick
16
17
  }, /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/tab/index.js"],"names":["React","useMemo","PropTypes","style","Tab","onClick","links","title","targetContent","handleTabClick","tab","link","propTypes","string","arrayOf","objectOf","func"],"mappings":";AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,GAAG,GAAG,CAAC;AAACC,EAAAA,OAAD;AAAUC,EAAAA,KAAV;AAAiBC,EAAAA,KAAjB;AAAwBC,EAAAA;AAAxB,CAAD,KAA4C;AACtD,QAAMC,cAAc,GAAGR,OAAO,CAAC,MAAM,MAAMI,OAAO,CAACG,aAAD,CAApB,EAAqC,CAACH,OAAD,EAAUG,aAAV,CAArC,CAA9B;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEL,KAAK,CAACO,GAAtB;AAA2B,IAAA,OAAO,EAAED;AAApC,kBACE;AAAK,IAAA,SAAS,EAAEN,KAAK,CAACI;AAAtB,KAA8BA,KAA9B,CADF,eAEE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACQ;AAAtB,KACG,KACCA,IAAI,iBACF;AAAK,IAAA,GAAG,EAAEA,IAAI,CAACJ;AAAf,KAAuBI,IAAI,CAACJ,KAA5B,CAFH,EAICD,KAJD,CADH,CAFF,CADF;AAaD,CAhBD;;AAkBAF,GAAG,CAACQ,SAAJ,2CAAgB;AACdL,EAAAA,KAAK,EAAEL,SAAS,CAACW,MADH;AAEdP,EAAAA,KAAK,EAAEJ,SAAS,CAACY,OAAV,CAAkBZ,SAAS,CAACa,QAAV,CAAmBb,SAAS,CAACW,MAA7B,CAAlB,CAFO;AAGdR,EAAAA,OAAO,EAAEH,SAAS,CAACc,IAHL;AAIdR,EAAAA,aAAa,EAAEN,SAAS,CAACW;AAJX,CAAhB;AAOA,eAAeT,GAAf","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {map} from 'lodash/fp';\nimport style from './style.css';\n\nconst Tab = ({onClick, links, title, targetContent}) => {\n const handleTabClick = useMemo(() => () => onClick(targetContent), [onClick, targetContent]);\n\n return (\n <div className={style.tab} onClick={handleTabClick}>\n <div className={style.title}>{title}</div>\n <div className={style.link}>\n {map(\n link => (\n <div key={link.title}>{link.title}</div>\n ),\n links\n )}\n </div>\n </div>\n );\n};\n\nTab.propTypes = {\n title: PropTypes.string,\n links: PropTypes.arrayOf(PropTypes.objectOf(PropTypes.string)),\n onClick: PropTypes.func,\n targetContent: PropTypes.string\n};\n\nexport default Tab;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/tab/index.js"],"names":["React","useMemo","PropTypes","style","Tab","onClick","links","title","targetContent","handleTabClick","tab","link","propTypes","string","arrayOf","objectOf","func"],"mappings":";AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,GAAG,GAAG,CAAC;AAACC,EAAAA,OAAD;AAAUC,EAAAA,KAAV;AAAiBC,EAAAA,KAAjB;AAAwBC,EAAAA;AAAxB,CAAD,KAA4C;AACtD,QAAMC,cAAc,GAAGR,OAAO,CAAC,MAAM,MAAMI,OAAO,CAACG,aAAD,CAApB,EAAqC,CAACH,OAAD,EAAUG,aAAV,CAArC,CAA9B;AAEA,sBACE;AAAK,iBAAU,KAAf;AAAqB,IAAA,SAAS,EAAEL,KAAK,CAACO,GAAtC;AAA2C,IAAA,OAAO,EAAED;AAApD,kBACE;AAAK,IAAA,SAAS,EAAEN,KAAK,CAACI;AAAtB,KAA8BA,KAA9B,CADF,eAEE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACQ;AAAtB,KACG,KACCA,IAAI,iBACF;AAAK,IAAA,GAAG,EAAEA,IAAI,CAACJ;AAAf,KAAuBI,IAAI,CAACJ,KAA5B,CAFH,EAICD,KAJD,CADH,CAFF,CADF;AAaD,CAhBD;;AAkBAF,GAAG,CAACQ,SAAJ,2CAAgB;AACdL,EAAAA,KAAK,EAAEL,SAAS,CAACW,MADH;AAEdP,EAAAA,KAAK,EAAEJ,SAAS,CAACY,OAAV,CAAkBZ,SAAS,CAACa,QAAV,CAAmBb,SAAS,CAACW,MAA7B,CAAlB,CAFO;AAGdR,EAAAA,OAAO,EAAEH,SAAS,CAACc,IAHL;AAIdR,EAAAA,aAAa,EAAEN,SAAS,CAACW;AAJX,CAAhB;AAOA,eAAeT,GAAf","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {map} from 'lodash/fp';\nimport style from './style.css';\n\nconst Tab = ({onClick, links, title, targetContent}) => {\n const handleTabClick = useMemo(() => () => onClick(targetContent), [onClick, targetContent]);\n\n return (\n <div data-name=\"tab\" className={style.tab} onClick={handleTabClick}>\n <div className={style.title}>{title}</div>\n <div className={style.link}>\n {map(\n link => (\n <div key={link.title}>{link.title}</div>\n ),\n links\n )}\n </div>\n </div>\n );\n};\n\nTab.propTypes = {\n title: PropTypes.string,\n links: PropTypes.arrayOf(PropTypes.objectOf(PropTypes.string)),\n onClick: PropTypes.func,\n targetContent: PropTypes.string\n};\n\nexport default Tab;\n"],"file":"index.js"}
@@ -0,0 +1,69 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import { TouchableOpacity, TouchableHighlight } from 'react-native';
4
+ import React, { useMemo } from 'react';
5
+ import { useTemplateContext } from '../../template/app-review/template-context';
6
+ import { ANALYTICS_EVENT_TYPE } from '../../variables/analytics';
7
+ const hitSlop = {
8
+ left: 12,
9
+ right: 12,
10
+ bottom: 12,
11
+ top: 12
12
+ };
13
+
14
+ const logEvent = (eventName, analyticsID, analytics, analyticsParams) => {
15
+ analytics && analytics.logEvent(eventName, _extends(_extends({}, analyticsParams || {}), {}, {
16
+ id: analyticsID
17
+ }));
18
+ };
19
+
20
+ const Touchable = props => {
21
+ const templateContext = useTemplateContext();
22
+ const {
23
+ theme,
24
+ vibration,
25
+ analytics
26
+ } = templateContext;
27
+ const {
28
+ analyticsID,
29
+ analyticsParams,
30
+ onPress,
31
+ onLongPress,
32
+ isWithoutFeedback,
33
+ isHighlight,
34
+ activeOpacity,
35
+ disabled
36
+ } = props;
37
+ const handlePress = useMemo(() => event => {
38
+ if (!onPress) return;
39
+ vibration?.vibrate();
40
+ analytics && logEvent(ANALYTICS_EVENT_TYPE.PRESS, analyticsID, analytics, analyticsParams);
41
+ onPress(event);
42
+ }, [analytics, analyticsID, analyticsParams, onPress, vibration]);
43
+ const handleLongPress = useMemo(() => event => {
44
+ if (!onLongPress) return;
45
+ vibration?.vibrate();
46
+ analytics && logEvent(ANALYTICS_EVENT_TYPE.LONG_PRESS, analyticsID, analytics, analyticsParams);
47
+ onLongPress(event);
48
+ }, [analytics, analyticsID, analyticsParams, onLongPress, vibration]);
49
+
50
+ if (isHighlight) {
51
+ return /*#__PURE__*/React.createElement(TouchableHighlight, _extends({}, props, {
52
+ hitSlop: hitSlop,
53
+ underlayColor: theme.colors.gray.light,
54
+ onPress: handlePress,
55
+ onLongPress: handleLongPress,
56
+ activeOpacity: activeOpacity || (disabled ? 1 : 0.85)
57
+ }));
58
+ }
59
+
60
+ return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, props, {
61
+ hitSlop: hitSlop,
62
+ onPress: handlePress,
63
+ onLongPress: handleLongPress,
64
+ activeOpacity: isWithoutFeedback && 1 || activeOpacity || (disabled ? 1 : 0.2)
65
+ }));
66
+ };
67
+
68
+ export default Touchable;
69
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hoc/touchable/index.native.tsx"],"names":["TouchableOpacity","TouchableHighlight","React","useMemo","useTemplateContext","ANALYTICS_EVENT_TYPE","hitSlop","left","right","bottom","top","logEvent","eventName","analyticsID","analytics","analyticsParams","id","Touchable","props","templateContext","theme","vibration","onPress","onLongPress","isWithoutFeedback","isHighlight","activeOpacity","disabled","handlePress","event","vibrate","PRESS","handleLongPress","LONG_PRESS","colors","gray","light"],"mappings":";;AAAA,SAAQA,gBAAR,EAA0BC,kBAA1B,QAA8D,cAA9D;AAQA,OAAOC,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;AACA,SAAQC,oBAAR,QAAoE,2BAApE;AAGA,MAAMC,OAAO,GAAG;AACdC,EAAAA,IAAI,EAAE,EADQ;AAEdC,EAAAA,KAAK,EAAE,EAFO;AAGdC,EAAAA,MAAM,EAAE,EAHM;AAIdC,EAAAA,GAAG,EAAE;AAJS,CAAhB;;AAmCA,MAAMC,QAAQ,GAAG,CACfC,SADe,EAEfC,WAFe,EAGfC,SAHe,EAIfC,eAJe,KAKZ;AACHD,EAAAA,SAAS,IACPA,SAAS,CAACH,QAAV,CAAmBC,SAAnB,wBACMG,eAAe,IAAI,EADzB;AAEEC,IAAAA,EAAE,EAAEH;AAFN,KADF;AAKD,CAXD;;AAaA,MAAMI,SAAS,GAAIC,KAAD,IAAkB;AAClC,QAAMC,eAAe,GAAGf,kBAAkB,EAA1C;AAEA,QAAM;AAACgB,IAAAA,KAAD;AAAQC,IAAAA,SAAR;AAAmBP,IAAAA;AAAnB,MAAgCK,eAAtC;AAEA,QAAM;AACJN,IAAAA,WADI;AAEJE,IAAAA,eAFI;AAGJO,IAAAA,OAHI;AAIJC,IAAAA,WAJI;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,WANI;AAOJC,IAAAA,aAPI;AAQJC,IAAAA;AARI,MASFT,KATJ;AAWA,QAAMU,WAAW,GAAGzB,OAAO,CACzB,MAAO0B,KAAD,IAAuB;AAC3B,QAAI,CAACP,OAAL,EAAc;AAEdD,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IAAIH,QAAQ,CAACN,oBAAoB,CAAC0B,KAAtB,EAA6BlB,WAA7B,EAA0CC,SAA1C,EAAqDC,eAArD,CAArB;AACAO,IAAAA,OAAO,CAACO,KAAD,CAAP;AACD,GARwB,EASzB,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CO,OAA1C,EAAmDD,SAAnD,CATyB,CAA3B;AAYA,QAAMW,eAAe,GAAG7B,OAAO,CAC7B,MAAO0B,KAAD,IAAuB;AAC3B,QAAI,CAACN,WAAL,EAAkB;AAElBF,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IACPH,QAAQ,CAACN,oBAAoB,CAAC4B,UAAtB,EAAkCpB,WAAlC,EAA+CC,SAA/C,EAA0DC,eAA1D,CADV;AAEAQ,IAAAA,WAAW,CAACM,KAAD,CAAX;AACD,GAT4B,EAU7B,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CQ,WAA1C,EAAuDF,SAAvD,CAV6B,CAA/B;;AAaA,MAAII,WAAJ,EAAiB;AACf,wBACE,oBAAC,kBAAD,eACMP,KADN;AAEE,MAAA,OAAO,EAAEZ,OAFX;AAGE,MAAA,aAAa,EAAEc,KAAK,CAACc,MAAN,CAAaC,IAAb,CAAkBC,KAHnC;AAIE,MAAA,OAAO,EAAER,WAJX;AAKE,MAAA,WAAW,EAAEI,eALf;AAME,MAAA,aAAa,EAAEN,aAAa,KAAKC,QAAQ,GAAG,CAAH,GAAO,IAApB;AAN9B,OADF;AAUD;;AAED,sBACE,oBAAC,gBAAD,eACMT,KADN;AAEE,IAAA,OAAO,EAAEZ,OAFX;AAGE,IAAA,OAAO,EAAEsB,WAHX;AAIE,IAAA,WAAW,EAAEI,eAJf;AAKE,IAAA,aAAa,EAAGR,iBAAiB,IAAI,CAAtB,IAA4BE,aAA5B,KAA8CC,QAAQ,GAAG,CAAH,GAAO,GAA7D;AALjB,KADF;AASD,CA/DD;;AAiEA,eAAeV,SAAf","sourcesContent":["import {TouchableOpacity, TouchableHighlight, ViewStyle} from 'react-native';\nimport type {\n BlurEvent,\n LayoutEvent,\n FocusEvent,\n PressEvent\n} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport React, {useMemo} from 'react';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE, Analytics, AnalyticsEventParams} from '../../variables/analytics';\nimport {Vibration} from '../../variables/vibration';\n\nconst hitSlop = {\n left: 12,\n right: 12,\n bottom: 12,\n top: 12\n};\n\nexport type Props = {\n accessible?: boolean;\n children?: React.ReactNode;\n delayLongPress?: number;\n delayPressIn?: number;\n delayPressOut?: number;\n disabled?: boolean;\n focusable?: boolean;\n onBlur?: (event: BlurEvent) => any;\n onFocus?: (event: FocusEvent) => any;\n onLayout?: (event: LayoutEvent) => any;\n onLongPress?: (event: PressEvent) => any;\n onPress?: (event: PressEvent) => any;\n onPressIn?: (event: PressEvent) => any;\n onPressOut?: (event: PressEvent) => any;\n testID?: string;\n isHighlight?: boolean;\n isWithoutFeedback?: boolean;\n // for TouchableOpacity\n activeOpacity?: number;\n style?: ViewStyle;\n // Analytics\n analytics?: Analytics;\n analyticsID: string;\n analyticsParams?: AnalyticsEventParams;\n vibration?: Vibration;\n};\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n analyticsParams: AnalyticsEventParams | undefined\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n ...(analyticsParams || {}),\n id: analyticsID\n });\n};\n\nconst Touchable = (props: Props) => {\n const templateContext = useTemplateContext();\n\n const {theme, vibration, analytics} = templateContext;\n\n const {\n analyticsID,\n analyticsParams,\n onPress,\n onLongPress,\n isWithoutFeedback,\n isHighlight,\n activeOpacity,\n disabled\n } = props;\n\n const handlePress = useMemo(\n () => (event: PressEvent) => {\n if (!onPress) return;\n\n vibration?.vibrate();\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.PRESS, analyticsID, analytics, analyticsParams);\n onPress(event);\n },\n [analytics, analyticsID, analyticsParams, onPress, vibration]\n );\n\n const handleLongPress = useMemo(\n () => (event: PressEvent) => {\n if (!onLongPress) return;\n\n vibration?.vibrate();\n\n analytics &&\n logEvent(ANALYTICS_EVENT_TYPE.LONG_PRESS, analyticsID, analytics, analyticsParams);\n onLongPress(event);\n },\n [analytics, analyticsID, analyticsParams, onLongPress, vibration]\n );\n\n if (isHighlight) {\n return (\n <TouchableHighlight\n {...props}\n hitSlop={hitSlop}\n underlayColor={theme.colors.gray.light}\n onPress={handlePress}\n onLongPress={handleLongPress}\n activeOpacity={activeOpacity || (disabled ? 1 : 0.85)}\n />\n );\n }\n\n return (\n <TouchableOpacity\n {...props}\n hitSlop={hitSlop}\n onPress={handlePress}\n onLongPress={handleLongPress}\n activeOpacity={(isWithoutFeedback && 1) || activeOpacity || (disabled ? 1 : 0.2)}\n />\n );\n};\n\nexport default Touchable;\n"],"file":"index.native.js"}