@coorpacademy/components 11.9.0 → 11.9.2-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/es/atom/loader/index.native.d.ts.map +1 -1
  2. package/es/atom/loader/index.native.js +11 -9
  3. package/es/atom/loader/index.native.js.map +1 -1
  4. package/es/atom/review-presentation/index.d.ts.map +1 -1
  5. package/es/atom/review-presentation/index.js +12 -62
  6. package/es/atom/review-presentation/index.js.map +1 -1
  7. package/es/atom/review-presentation/index.native.d.ts.map +1 -1
  8. package/es/atom/review-presentation/index.native.js +7 -2
  9. package/es/atom/review-presentation/index.native.js.map +1 -1
  10. package/es/atom/review-presentation/style.css +7 -67
  11. package/es/atom/tooltip/index.d.ts +22 -0
  12. package/es/atom/tooltip/index.d.ts.map +1 -0
  13. package/es/atom/tooltip/index.js +117 -0
  14. package/es/atom/tooltip/index.js.map +1 -0
  15. package/es/atom/tooltip/style.css +96 -0
  16. package/es/template/activity/engine-stars.css +16 -33
  17. package/es/template/activity/engine-stars.d.ts +15 -17
  18. package/es/template/activity/engine-stars.d.ts.map +1 -1
  19. package/es/template/activity/engine-stars.js +128 -115
  20. package/es/template/activity/engine-stars.js.map +1 -1
  21. package/es/template/activity/index.d.ts +1 -0
  22. package/es/template/activity/index.d.ts.map +1 -1
  23. package/es/template/activity/index.js +18 -9
  24. package/es/template/activity/index.js.map +1 -1
  25. package/es/template/activity/progression-item.js +1 -1
  26. package/es/template/activity/progression-item.js.map +1 -1
  27. package/es/template/activity/stars-summary.d.ts +1 -0
  28. package/es/template/activity/stars-summary.d.ts.map +1 -1
  29. package/es/template/activity/stars-summary.js +10 -5
  30. package/es/template/activity/stars-summary.js.map +1 -1
  31. package/es/template/app-review/index.native.d.ts.map +1 -1
  32. package/es/template/app-review/index.native.js +48 -20
  33. package/es/template/app-review/index.native.js.map +1 -1
  34. package/es/template/app-review/skills/index.native.d.ts.map +1 -1
  35. package/es/template/app-review/skills/index.native.js +26 -5
  36. package/es/template/app-review/skills/index.native.js.map +1 -1
  37. package/lib/atom/loader/index.native.d.ts.map +1 -1
  38. package/lib/atom/loader/index.native.js +11 -9
  39. package/lib/atom/loader/index.native.js.map +1 -1
  40. package/lib/atom/review-presentation/index.d.ts.map +1 -1
  41. package/lib/atom/review-presentation/index.js +13 -66
  42. package/lib/atom/review-presentation/index.js.map +1 -1
  43. package/lib/atom/review-presentation/index.native.d.ts.map +1 -1
  44. package/lib/atom/review-presentation/index.native.js +7 -2
  45. package/lib/atom/review-presentation/index.native.js.map +1 -1
  46. package/lib/atom/review-presentation/style.css +7 -67
  47. package/lib/atom/tooltip/index.d.ts +22 -0
  48. package/lib/atom/tooltip/index.d.ts.map +1 -0
  49. package/lib/atom/tooltip/index.js +137 -0
  50. package/lib/atom/tooltip/index.js.map +1 -0
  51. package/lib/atom/tooltip/style.css +96 -0
  52. package/lib/template/activity/engine-stars.css +16 -33
  53. package/lib/template/activity/engine-stars.d.ts +15 -17
  54. package/lib/template/activity/engine-stars.d.ts.map +1 -1
  55. package/lib/template/activity/engine-stars.js +135 -116
  56. package/lib/template/activity/engine-stars.js.map +1 -1
  57. package/lib/template/activity/index.d.ts +1 -0
  58. package/lib/template/activity/index.d.ts.map +1 -1
  59. package/lib/template/activity/index.js +21 -9
  60. package/lib/template/activity/index.js.map +1 -1
  61. package/lib/template/activity/progression-item.js +1 -1
  62. package/lib/template/activity/progression-item.js.map +1 -1
  63. package/lib/template/activity/stars-summary.d.ts +1 -0
  64. package/lib/template/activity/stars-summary.d.ts.map +1 -1
  65. package/lib/template/activity/stars-summary.js +10 -5
  66. package/lib/template/activity/stars-summary.js.map +1 -1
  67. package/lib/template/app-review/index.native.d.ts.map +1 -1
  68. package/lib/template/app-review/index.native.js +49 -19
  69. package/lib/template/app-review/index.native.js.map +1 -1
  70. package/lib/template/app-review/skills/index.native.d.ts.map +1 -1
  71. package/lib/template/app-review/skills/index.native.js +30 -7
  72. package/lib/template/app-review/skills/index.native.js.map +1 -1
  73. package/locales/en/global.json +1 -0
  74. package/package.json +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/loader/index.native.tsx"],"names":[],"mappings":";AAEA,OAAO,EAA0C,UAAU,EAAC,MAAM,cAAc,CAAC;AAoCjF,oBAAY,KAAK,GAAG;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAKF,QAAA,MAAM,MAAM,UAAW,KAAK,uBAqK3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/loader/index.native.tsx"],"names":[],"mappings":";AAEA,OAAO,EAA0C,UAAU,EAAC,MAAM,cAAc,CAAC;AAoCjF,oBAAY,KAAK,GAAG;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAKF,QAAA,MAAM,MAAM,UAAW,KAAK,uBAsK3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -34,14 +34,17 @@ const Loader = props => {
34
34
  theme
35
35
  } = templateContext;
36
36
  const [styleSheet, setStylesheet] = useState(null);
37
- const [visible, setVisible] = useState(true);
37
+ const [hidden, setHidden] = useState(false);
38
38
  const [minTimeIsSpent, setMinTimeSpent] = useState(false);
39
39
  const rotation = useRef(new Animated.Value(0)).current;
40
40
  const scale = useRef(new Animated.Value(0)).current;
41
41
  const hideAnimation = useAnimateProp({
42
42
  property: 'opacity',
43
43
  fromValue: 1,
44
- toValue: 0
44
+ toValue: 0,
45
+ onComplete: () => {
46
+ setHidden(true);
47
+ }
45
48
  });
46
49
  const {
47
50
  height = 60,
@@ -54,15 +57,10 @@ const Loader = props => {
54
57
  setStylesheet(_stylesheet);
55
58
  }, [theme]);
56
59
  useEffect(() => {
57
- if (readyToHide && minTimeIsSpent) {
58
- setVisible(false);
59
- }
60
- }, [readyToHide, minTimeIsSpent]);
61
- useEffect(() => {
62
- if (!visible) {
60
+ if (readyToHide && minTimeIsSpent && !hidden) {
63
61
  hideAnimation.start();
64
62
  }
65
- }, [visible, hideAnimation]);
63
+ }, [hidden, hideAnimation, readyToHide, minTimeIsSpent]);
66
64
  useEffect(() => {
67
65
  setTimeout(() => {
68
66
  setMinTimeSpent(true);
@@ -110,6 +108,10 @@ const Loader = props => {
110
108
  return null;
111
109
  }
112
110
 
111
+ if (hidden) {
112
+ return null;
113
+ }
114
+
113
115
  const interpolatedScale = scale.interpolate({
114
116
  inputRange: [0, 0.45, 1, 1.32, 1.5, 2, 2.3, 2.64, 3],
115
117
  outputRange: [0.5, 0.2, 0.5, 0.5, 0.8, 0.5, 0.5, 0.3, 0.5]
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["useAnimateProp","React","useEffect","useRef","useState","Animated","StyleSheet","Easing","useTemplateContext","createStyleSheet","theme","create","container","alignItems","justifyContent","dot","position","blue","backgroundColor","colors","cta","red","negative","green","positive","yellow","battle","CYCLE_DURATION","MIN_TIME","Loader","props","templateContext","styleSheet","setStylesheet","visible","setVisible","minTimeIsSpent","setMinTimeSpent","rotation","Value","current","scale","hideAnimation","property","fromValue","toValue","height","color","readyToHide","_stylesheet","start","setTimeout","_animation","parallel","loop","sequence","timing","duration","useNativeDriver","easing","inOut","sin","stop","interpolatedScale","interpolate","inputRange","outputRange","interpolatedRotation","dotWidth","dotTranslate","dotStyle","width","borderRadius","animatedStyle","transform","scaleX","scaleY","rotateZ","translateX"],"sources":["../../../src/atom/loader/index.native.tsx"],"sourcesContent":["import {useAnimateProp} from '@coorpacademy/react-native-animation';\nimport React, {useEffect, useRef, useState} from 'react';\nimport {Animated, StyleSheet, Easing, ViewStyle, ColorValue} from 'react-native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\n\ntype StyleSheetType = {\n container: ViewStyle;\n dot: ViewStyle;\n blue: ViewStyle;\n red: ViewStyle;\n green: ViewStyle;\n yellow: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n dot: {\n position: 'absolute'\n },\n blue: {\n backgroundColor: theme.colors.cta\n },\n red: {\n backgroundColor: theme.colors.negative\n },\n green: {\n backgroundColor: theme.colors.positive\n },\n yellow: {\n backgroundColor: theme.colors.battle\n }\n });\n\nexport type Props = {\n color?: ColorValue;\n height?: number;\n readyToHide: boolean;\n};\n\nconst CYCLE_DURATION = 3000;\nconst MIN_TIME = 1000;\n\nconst Loader = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const [visible, setVisible] = useState<boolean>(true);\n const [minTimeIsSpent, setMinTimeSpent] = useState<boolean>(false);\n\n const rotation = useRef<Animated.Value>(new Animated.Value(0)).current;\n const scale = useRef<Animated.Value>(new Animated.Value(0)).current;\n\n const hideAnimation = useAnimateProp({\n property: 'opacity',\n fromValue: 1,\n toValue: 0\n });\n\n const {height = 60, color, readyToHide} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n useEffect(() => {\n if (readyToHide && minTimeIsSpent) {\n setVisible(false);\n }\n }, [readyToHide, minTimeIsSpent]);\n\n useEffect(() => {\n if (!visible) {\n hideAnimation.start();\n }\n }, [visible, hideAnimation]);\n\n useEffect(() => {\n setTimeout(() => {\n setMinTimeSpent(true);\n }, MIN_TIME);\n\n const _animation = Animated.parallel([\n Animated.loop(\n Animated.sequence([\n Animated.timing(scale, {toValue: 0, duration: 0, useNativeDriver: false}),\n Animated.timing(scale, {\n toValue: 1,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n }),\n Animated.timing(scale, {\n toValue: 2,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n }),\n Animated.timing(scale, {\n toValue: 3,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n })\n ])\n ),\n Animated.loop(\n Animated.sequence([\n Animated.timing(rotation, {toValue: 0, duration: 0, useNativeDriver: false}),\n Animated.timing(rotation, {\n toValue: 1,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n })\n ])\n )\n ]);\n\n _animation.start();\n\n return () => {\n _animation.stop();\n };\n // eslint bad warning --> effect only onmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!styleSheet) {\n return null;\n }\n\n const interpolatedScale = scale.interpolate({\n inputRange: [0, 0.45, 1, 1.32, 1.5, 2, 2.3, 2.64, 3],\n outputRange: [0.5, 0.2, 0.5, 0.5, 0.8, 0.5, 0.5, 0.3, 0.5]\n });\n\n const interpolatedRotation = rotation.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg']\n });\n const dotWidth = rotation.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [height / 2, height / 6, height / 2]\n });\n const dotTranslate = rotation.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [-25 * (height / 60), -35 * (height / 60), -25 * (height / 60)]\n });\n const dotStyle = {\n width: dotWidth,\n height: height / 6,\n borderRadius: height / 12\n };\n\n return (\n <Animated.View style={hideAnimation.animatedStyle}>\n <Animated.View\n style={[\n styleSheet.container,\n {\n height,\n width: height,\n transform: [\n {scaleX: interpolatedScale},\n {scaleY: interpolatedScale},\n {rotateZ: interpolatedRotation}\n ]\n }\n ]}\n >\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.red,\n dotStyle,\n {transform: [{rotateZ: '45deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.green,\n dotStyle,\n {transform: [{rotateZ: '135deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.yellow,\n dotStyle,\n {transform: [{rotateZ: '225deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.blue,\n dotStyle,\n {transform: [{rotateZ: '315deg'}, {translateX: dotTranslate}]}\n ]}\n />\n </Animated.View>\n </Animated.View>\n );\n};\n\nexport default Loader;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["useAnimateProp","React","useEffect","useRef","useState","Animated","StyleSheet","Easing","useTemplateContext","createStyleSheet","theme","create","container","alignItems","justifyContent","dot","position","blue","backgroundColor","colors","cta","red","negative","green","positive","yellow","battle","CYCLE_DURATION","MIN_TIME","Loader","props","templateContext","styleSheet","setStylesheet","hidden","setHidden","minTimeIsSpent","setMinTimeSpent","rotation","Value","current","scale","hideAnimation","property","fromValue","toValue","onComplete","height","color","readyToHide","_stylesheet","start","setTimeout","_animation","parallel","loop","sequence","timing","duration","useNativeDriver","easing","inOut","sin","stop","interpolatedScale","interpolate","inputRange","outputRange","interpolatedRotation","dotWidth","dotTranslate","dotStyle","width","borderRadius","animatedStyle","transform","scaleX","scaleY","rotateZ","translateX"],"sources":["../../../src/atom/loader/index.native.tsx"],"sourcesContent":["import {useAnimateProp} from '@coorpacademy/react-native-animation';\nimport React, {useEffect, useRef, useState} from 'react';\nimport {Animated, StyleSheet, Easing, ViewStyle, ColorValue} from 'react-native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\n\ntype StyleSheetType = {\n container: ViewStyle;\n dot: ViewStyle;\n blue: ViewStyle;\n red: ViewStyle;\n green: ViewStyle;\n yellow: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n dot: {\n position: 'absolute'\n },\n blue: {\n backgroundColor: theme.colors.cta\n },\n red: {\n backgroundColor: theme.colors.negative\n },\n green: {\n backgroundColor: theme.colors.positive\n },\n yellow: {\n backgroundColor: theme.colors.battle\n }\n });\n\nexport type Props = {\n color?: ColorValue;\n height?: number;\n readyToHide: boolean;\n};\n\nconst CYCLE_DURATION = 3000;\nconst MIN_TIME = 1000;\n\nconst Loader = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const [hidden, setHidden] = useState<boolean>(false);\n const [minTimeIsSpent, setMinTimeSpent] = useState<boolean>(false);\n\n const rotation = useRef<Animated.Value>(new Animated.Value(0)).current;\n const scale = useRef<Animated.Value>(new Animated.Value(0)).current;\n\n const hideAnimation = useAnimateProp({\n property: 'opacity',\n fromValue: 1,\n toValue: 0,\n onComplete: () => {\n setHidden(true);\n }\n });\n\n const {height = 60, color, readyToHide} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n useEffect(() => {\n if (readyToHide && minTimeIsSpent && !hidden) {\n hideAnimation.start();\n }\n }, [hidden, hideAnimation, readyToHide, minTimeIsSpent]);\n\n useEffect(() => {\n setTimeout(() => {\n setMinTimeSpent(true);\n }, MIN_TIME);\n\n const _animation = Animated.parallel([\n Animated.loop(\n Animated.sequence([\n Animated.timing(scale, {toValue: 0, duration: 0, useNativeDriver: false}),\n Animated.timing(scale, {\n toValue: 1,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n }),\n Animated.timing(scale, {\n toValue: 2,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n }),\n Animated.timing(scale, {\n toValue: 3,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n })\n ])\n ),\n Animated.loop(\n Animated.sequence([\n Animated.timing(rotation, {toValue: 0, duration: 0, useNativeDriver: false}),\n Animated.timing(rotation, {\n toValue: 1,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n })\n ])\n )\n ]);\n\n _animation.start();\n\n return () => {\n _animation.stop();\n };\n // eslint bad warning --> effect only onmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!styleSheet) {\n return null;\n }\n\n if (hidden) {\n return null;\n }\n\n const interpolatedScale = scale.interpolate({\n inputRange: [0, 0.45, 1, 1.32, 1.5, 2, 2.3, 2.64, 3],\n outputRange: [0.5, 0.2, 0.5, 0.5, 0.8, 0.5, 0.5, 0.3, 0.5]\n });\n\n const interpolatedRotation = rotation.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg']\n });\n const dotWidth = rotation.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [height / 2, height / 6, height / 2]\n });\n const dotTranslate = rotation.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [-25 * (height / 60), -35 * (height / 60), -25 * (height / 60)]\n });\n const dotStyle = {\n width: dotWidth,\n height: height / 6,\n borderRadius: height / 12\n };\n\n return (\n <Animated.View style={hideAnimation.animatedStyle}>\n <Animated.View\n style={[\n styleSheet.container,\n {\n height,\n width: height,\n transform: [\n {scaleX: interpolatedScale},\n {scaleY: interpolatedScale},\n {rotateZ: interpolatedRotation}\n ]\n }\n ]}\n >\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.red,\n dotStyle,\n {transform: [{rotateZ: '45deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.green,\n dotStyle,\n {transform: [{rotateZ: '135deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.yellow,\n dotStyle,\n {transform: [{rotateZ: '225deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.blue,\n dotStyle,\n {transform: [{rotateZ: '315deg'}, {translateX: dotTranslate}]}\n ]}\n />\n </Animated.View>\n </Animated.View>\n );\n};\n\nexport default Loader;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/review-presentation/index.js"],"names":[],"mappings":";AAyGA,6DA+BC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/review-presentation/index.js"],"names":[],"mappings":";AA+CA,6DA+BC"}
@@ -1,10 +1,9 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : 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 React, { useState, useCallback } from 'react';
1
+ import React from 'react';
4
2
  import PropTypes from 'prop-types';
5
3
  import getOr from 'lodash/fp/getOr';
6
4
  import map from 'lodash/fp/map';
7
- import { NovaSolidStatusCheckCircle2 as CheckIcon, NovaSolidVoteRewardsVoteHeart as HeartIcon, NovaCompositionCoorpacademyInformationIcon as InformationIcon, NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon, NovaLineSelectionCursorsCursorArrowTarget as TargetIcon } from '@coorpacademy/nova-icons';
5
+ import { NovaSolidStatusCheckCircle2 as CheckIcon, NovaSolidVoteRewardsVoteHeart as HeartIcon, NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon, NovaLineSelectionCursorsCursorArrowTarget as TargetIcon } from '@coorpacademy/nova-icons';
6
+ import ToolTip from '../tooltip';
8
7
  import style from './style.css';
9
8
  import propTypes from './prop-types';
10
9
  const ICONS = {
@@ -31,50 +30,6 @@ const ReviewIcon = ({
31
30
  });
32
31
  };
33
32
 
34
- const ToolTip = ({
35
- tooltipText,
36
- 'aria-label': moreDetailsAriaLabel,
37
- 'data-testid': dataTestId,
38
- closeToolTipInformationTextAriaLabel
39
- }) => {
40
- const [toolTipIsVisible, setToolTipIsVisible] = useState(false);
41
- const handleKeyPress = useCallback(event => {
42
- if (event.key === 'Enter') {
43
- setToolTipIsVisible(!toolTipIsVisible);
44
- } else if (event.key === 'Tab' || event.key === 'Escape') {
45
- setToolTipIsVisible(false);
46
- }
47
- }, [setToolTipIsVisible, toolTipIsVisible]);
48
- const handleMouseOver = useCallback(() => {
49
- setToolTipIsVisible(true);
50
- }, [setToolTipIsVisible]);
51
- const handleMouseLeave = useCallback(() => {
52
- setToolTipIsVisible(false);
53
- }, [setToolTipIsVisible]);
54
- return /*#__PURE__*/React.createElement("div", {
55
- className: style.tooltipContainer,
56
- onMouseLeave: handleMouseLeave,
57
- onMouseOver: handleMouseOver
58
- }, /*#__PURE__*/React.createElement("button", {
59
- type: "button",
60
- className: style.tooltipIconContainer,
61
- "data-testid": dataTestId,
62
- onKeyDown: handleKeyPress,
63
- tabIndex: 0
64
- }, /*#__PURE__*/React.createElement(InformationIcon, {
65
- className: style.informationIcon,
66
- width: 12,
67
- height: 12,
68
- "aria-label": moreDetailsAriaLabel
69
- })), toolTipIsVisible ? /*#__PURE__*/React.createElement("div", {
70
- className: style.toolTip,
71
- "data-testid": "review-presentation-tooltip",
72
- "aria-label": closeToolTipInformationTextAriaLabel
73
- }, /*#__PURE__*/React.createElement("p", {
74
- className: style.tooltipText
75
- }, tooltipText)) : null);
76
- };
77
-
78
33
  const ReviewListItemWrapper = ({
79
34
  iconKey,
80
35
  label
@@ -89,10 +44,10 @@ const ReviewListItemWrapper = ({
89
44
  }, /*#__PURE__*/React.createElement(ReviewIcon, {
90
45
  icon: iconKey
91
46
  }), " ", label.text), /*#__PURE__*/React.createElement(ToolTip, {
92
- tooltipText: label.tooltipText,
93
- "aria-label": label.moreDetailsAriaLabel,
47
+ TooltipContent: label.tooltipText,
94
48
  closeToolTipInformationTextAriaLabel: label.closeToolTipInformationTextAriaLabel,
95
- "data-testid": `review-list-item-tooltip-button-${iconKey}`
49
+ "data-testid": `review-list-item-tooltip-button-${iconKey}`,
50
+ "aria-label": label.moreDetailsAriaLabel
96
51
  }));
97
52
  };
98
53
 
@@ -135,23 +90,18 @@ const ReviewPresentation = props => {
135
90
  }, labelsList)));
136
91
  };
137
92
 
138
- ToolTip.propTypes = process.env.NODE_ENV !== "production" ? {
139
- tooltipText: PropTypes.string,
140
- 'aria-label': PropTypes.string,
141
- 'data-testid': PropTypes.string,
142
- closeToolTipInformationTextAriaLabel: PropTypes.string
143
- } : {};
144
93
  ReviewIcon.propTypes = process.env.NODE_ENV !== "production" ? {
145
94
  icon: PropTypes.string
146
95
  } : {};
147
- ReviewListItemWrapper.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, ToolTip.propTypes, {
96
+ ReviewListItemWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
148
97
  iconKey: PropTypes.string,
149
98
  label: PropTypes.shape({
150
- tooltipText: PropTypes.string,
151
- moreDetailsAriaLabel: PropTypes.string,
152
- closeToolTipInformationTextAriaLabel: PropTypes.string
99
+ tooltipText: ToolTip.propTypes.tooltipText,
100
+ moreDetailsAriaLabel: ToolTip.propTypes['aria-label'],
101
+ closeToolTipInformationTextAriaLabel: ToolTip.propTypes.closeToolTipInformationTextAriaLabel,
102
+ text: PropTypes.string
153
103
  })
154
- }) : {};
104
+ } : {};
155
105
  ReviewPresentation.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
156
106
  export default ReviewPresentation;
157
107
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useCallback","PropTypes","getOr","map","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidVoteRewardsVoteHeart","HeartIcon","NovaCompositionCoorpacademyInformationIcon","InformationIcon","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","NovaLineSelectionCursorsCursorArrowTarget","TargetIcon","style","propTypes","ICONS","skills","questions","lifes","allright","ReviewIcon","icon","Icon","labelIcon","ToolTip","tooltipText","moreDetailsAriaLabel","dataTestId","closeToolTipInformationTextAriaLabel","toolTipIsVisible","setToolTipIsVisible","handleKeyPress","event","key","handleMouseOver","handleMouseLeave","tooltipContainer","tooltipIconContainer","informationIcon","toolTip","ReviewListItemWrapper","iconKey","label","reviewListItemWrapper","reviewListText","text","ReviewPresentation","props","ariaLabel","reviewTitle","reviewText","labelsList","reviewWrapper","__html","reviewListWrapper","convert","cap","reviewList","string","shape"],"sources":["../../../src/atom/review-presentation/index.js"],"sourcesContent":["import React, {useState, useCallback} 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 ReviewIcon = ({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 = ({\n tooltipText,\n 'aria-label': moreDetailsAriaLabel,\n 'data-testid': dataTestId,\n closeToolTipInformationTextAriaLabel\n}) => {\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n const handleKeyPress = useCallback(\n event => {\n if (event.key === 'Enter') {\n setToolTipIsVisible(!toolTipIsVisible);\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n setToolTipIsVisible(false);\n }\n },\n [setToolTipIsVisible, toolTipIsVisible]\n );\n const handleMouseOver = useCallback(() => {\n setToolTipIsVisible(true);\n }, [setToolTipIsVisible]);\n\n const handleMouseLeave = useCallback(() => {\n setToolTipIsVisible(false);\n }, [setToolTipIsVisible]);\n\n return (\n <div\n className={style.tooltipContainer}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n >\n <button\n type=\"button\"\n className={style.tooltipIconContainer}\n data-testid={dataTestId}\n onKeyDown={handleKeyPress}\n tabIndex={0}\n >\n <InformationIcon\n className={style.informationIcon}\n width={12}\n height={12}\n aria-label={moreDetailsAriaLabel}\n />\n </button>\n {toolTipIsVisible ? (\n <div\n className={style.toolTip}\n data-testid=\"review-presentation-tooltip\"\n aria-label={closeToolTipInformationTextAriaLabel}\n >\n <p className={style.tooltipText}>{tooltipText}</p>\n </div>\n ) : null}\n </div>\n );\n};\n\nconst ReviewListItemWrapper = ({iconKey, label}) => {\n return (\n <div className={style.reviewListItemWrapper} data-tip data-for=\"reviewListItem\" tabIndex={0}>\n <div className={style.reviewListText}>\n <ReviewIcon icon={iconKey} /> {label.text}\n </div>\n <ToolTip\n tooltipText={label.tooltipText}\n aria-label={label.moreDetailsAriaLabel}\n closeToolTipInformationTextAriaLabel={label.closeToolTipInformationTextAriaLabel}\n data-testid={`review-list-item-tooltip-button-${iconKey}`}\n />\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 <ReviewListItemWrapper\n iconKey={key}\n label={label}\n tooltipText={label.tooltipText}\n aria-label={label.moreDetailsAriaLabel}\n />\n </li>\n );\n }, labelsList)}\n </ul>\n </div>\n );\n};\n\nToolTip.propTypes = {\n tooltipText: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'data-testid': PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n};\n\nReviewIcon.propTypes = {\n icon: PropTypes.string\n};\n\nReviewListItemWrapper.propTypes = {\n ...ToolTip.propTypes,\n iconKey: PropTypes.string,\n label: PropTypes.shape({\n tooltipText: PropTypes.string,\n moreDetailsAriaLabel: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n })\n};\n\nReviewPresentation.propTypes = propTypes;\n\nexport default ReviewPresentation;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","getOr","map","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidVoteRewardsVoteHeart","HeartIcon","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","NovaLineSelectionCursorsCursorArrowTarget","TargetIcon","ToolTip","style","propTypes","ICONS","skills","questions","lifes","allright","ReviewIcon","icon","Icon","labelIcon","ReviewListItemWrapper","iconKey","label","reviewListItemWrapper","reviewListText","text","tooltipText","closeToolTipInformationTextAriaLabel","moreDetailsAriaLabel","ReviewPresentation","props","ariaLabel","reviewTitle","reviewText","labelsList","reviewWrapper","__html","reviewListWrapper","convert","cap","key","reviewList","string","shape"],"sources":["../../../src/atom/review-presentation/index.js"],"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 NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon,\n NovaLineSelectionCursorsCursorArrowTarget as TargetIcon\n} from '@coorpacademy/nova-icons';\nimport ToolTip from '../tooltip';\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 ReviewIcon = ({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 ReviewListItemWrapper = ({iconKey, label}) => {\n return (\n <div className={style.reviewListItemWrapper} data-tip data-for=\"reviewListItem\" tabIndex={0}>\n <div className={style.reviewListText}>\n <ReviewIcon icon={iconKey} /> {label.text}\n </div>\n <ToolTip\n TooltipContent={label.tooltipText}\n closeToolTipInformationTextAriaLabel={label.closeToolTipInformationTextAriaLabel}\n data-testid={`review-list-item-tooltip-button-${iconKey}`}\n aria-label={label.moreDetailsAriaLabel}\n />\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 <ReviewListItemWrapper\n iconKey={key}\n label={label}\n tooltipText={label.tooltipText}\n aria-label={label.moreDetailsAriaLabel}\n />\n </li>\n );\n }, labelsList)}\n </ul>\n </div>\n );\n};\n\nReviewIcon.propTypes = {\n icon: PropTypes.string\n};\n\nReviewListItemWrapper.propTypes = {\n iconKey: PropTypes.string,\n label: PropTypes.shape({\n tooltipText: ToolTip.propTypes.tooltipText,\n moreDetailsAriaLabel: ToolTip.propTypes['aria-label'],\n closeToolTipInformationTextAriaLabel: ToolTip.propTypes.closeToolTipInformationTextAriaLabel,\n text: PropTypes.string\n })\n};\n\nReviewPresentation.propTypes = propTypes;\n\nexport default ReviewPresentation;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/review-presentation/index.native.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAC,eAAe,EAAW,MAAM,cAAc,CAAC;AAoGvD,QAAA,MAAM,UAAU,UAAW,eAAe,uBA4CzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/review-presentation/index.native.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAC,eAAe,EAAW,MAAM,cAAc,CAAC;AAwGvD,QAAA,MAAM,UAAU,UAAW,eAAe,uBA+CzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -23,6 +23,9 @@ const createStyleSheet = (brandTheme, theme) => StyleSheet.create({
23
23
  color: theme.colors.text.primary,
24
24
  marginBottom: 32
25
25
  },
26
+ textContainer: {
27
+ marginTop: 8
28
+ },
26
29
  text: {
27
30
  fontSize: theme.fontSize.large,
28
31
  color: theme.colors.text.primary,
@@ -125,9 +128,11 @@ const Onboarding = props => {
125
128
  style: styleSheet.container
126
129
  }, /*#__PURE__*/React.createElement(Html, {
127
130
  style: styleSheet.title
128
- }, translations.appReview.presentation.title), /*#__PURE__*/React.createElement(Html, {
131
+ }, translations.appReview.presentation.title), /*#__PURE__*/React.createElement(View, {
132
+ style: styleSheet.textContainer
133
+ }, /*#__PURE__*/React.createElement(Html, {
129
134
  style: styleSheet.text
130
- }, translations.appReview.presentation.text), /*#__PURE__*/React.createElement(View, {
135
+ }, translations.appReview.presentation.text)), /*#__PURE__*/React.createElement(View, {
131
136
  style: styleSheet.tips
132
137
  }, /*#__PURE__*/React.createElement(Tip, {
133
138
  Icon: TargetIcon,
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","useState","useEffect","View","StyleSheet","Text","NovaLineSelectionCursorsCursorArrowTarget","TargetIcon","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionMarkIcon","NovaSolidStatusCheckCircle2","CheckCircle2Icon","NovaCompositionCoorpacademyVoteHeartOutline","HeartIcon","useTemplateContext","Touchable","Html","createStyleSheet","brandTheme","theme","create","container","backgroundColor","colors","white","justifyContent","flex","padding","paddingTop","paddingBottom","title","height","width","fontSize","xxlarge","fontWeight","bold","lineHeight","color","text","primary","marginBottom","large","opacity","tips","marginTop","tip","flexDirection","overflow","alignItems","borderRadius","gray","extra","spacing","micro","tipText","icon","margin","button","cta","buttonText","alignSelf","Tip","props","templateContext","styleSheet","setStylesheet","Icon","_stylesheet","Onboarding","translations","onPress","appReview","presentation","labelList","skills","questions","lifes","allright","ok"],"sources":["../../../src/atom/review-presentation/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {View, StyleSheet, Text, ViewStyle, TextStyle} from 'react-native';\nimport {\n NovaLineSelectionCursorsCursorArrowTarget as TargetIcon,\n NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionMarkIcon,\n NovaSolidStatusCheckCircle2 as CheckCircle2Icon,\n NovaCompositionCoorpacademyVoteHeartOutline as HeartIcon\n} from '@coorpacademy/nova-icons';\n\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport Html from '../html/index.native';\nimport {Brand} from '../../variables/brand.native';\nimport {OnboardingProps, TipProps} from './prop-types';\n\ntype StyleSheetType = {\n container: ViewStyle;\n title: TextStyle;\n text: TextStyle;\n tips: ViewStyle;\n tip: ViewStyle;\n tipText: TextStyle;\n icon: ViewStyle;\n button: ViewStyle;\n buttonText: TextStyle;\n};\n\nconst createStyleSheet = (brandTheme: Brand, theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n backgroundColor: theme.colors.white,\n justifyContent: 'space-between',\n flex: 1,\n padding: 20,\n paddingTop: 20,\n paddingBottom: 100\n },\n title: {\n height: 72,\n width: 268,\n fontSize: theme.fontSize.xxlarge,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 36,\n color: theme.colors.text.primary,\n marginBottom: 32\n },\n text: {\n fontSize: theme.fontSize.large,\n color: theme.colors.text.primary,\n opacity: 0.7\n },\n tips: {\n marginTop: 32,\n height: 230,\n justifyContent: 'center'\n },\n tip: {\n flexDirection: 'row',\n overflow: 'hidden',\n alignItems: 'center',\n height: 54,\n borderRadius: 8,\n backgroundColor: theme.colors.gray.extra,\n marginTop: theme.spacing.micro,\n marginBottom: theme.spacing.micro\n },\n tipText: {\n fontSize: 16,\n lineHeight: 22,\n color: theme.colors.text.primary\n },\n icon: {\n margin: 10\n },\n button: {\n height: 52,\n borderRadius: 7,\n marginBottom: 32,\n marginTop: 16,\n backgroundColor: brandTheme?.colors?.primary || theme.colors.cta,\n justifyContent: 'center'\n },\n buttonText: {\n alignSelf: 'center',\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.large,\n color: '#fff'\n }\n });\n\nconst Tip = (props: TipProps) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme} = templateContext;\n const {Icon, text} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [brandTheme, theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.tip}>\n <Icon height={16} width={16} style={styleSheet.icon} color={theme.colors.text.primary} />\n <Text style={styleSheet.tipText}>{text}</Text>\n </View>\n );\n};\n\nconst Onboarding = (props: OnboardingProps) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme, translations} = templateContext;\n const {onPress} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [brandTheme, theme]);\n\n // ------------------------------------\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.container}>\n <Html style={styleSheet.title}>{translations.appReview.presentation.title}</Html>\n <Html style={styleSheet.text}>{translations.appReview.presentation.text}</Html>\n\n <View style={styleSheet.tips}>\n <Tip Icon={TargetIcon} text={translations.appReview.presentation.labelList.skills.text} />\n <Tip\n Icon={QuestionMarkIcon}\n text={translations.appReview.presentation.labelList.questions.text}\n />\n <Tip Icon={HeartIcon} text={translations.appReview.presentation.labelList.lifes.text} />\n <Tip\n Icon={CheckCircle2Icon}\n text={translations.appReview.presentation.labelList.allright.text}\n />\n </View>\n <Touchable\n testID=\"button-quit-revision-onboarding\"\n onPress={onPress}\n analyticsID=\"button-start\"\n style={styleSheet.button}\n >\n <Text style={styleSheet.buttonText}>{translations.ok}</Text>\n </Touchable>\n </View>\n );\n};\n\nexport default Onboarding;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["React","useState","useEffect","View","StyleSheet","Text","NovaLineSelectionCursorsCursorArrowTarget","TargetIcon","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionMarkIcon","NovaSolidStatusCheckCircle2","CheckCircle2Icon","NovaCompositionCoorpacademyVoteHeartOutline","HeartIcon","useTemplateContext","Touchable","Html","createStyleSheet","brandTheme","theme","create","container","backgroundColor","colors","white","justifyContent","flex","padding","paddingTop","paddingBottom","title","height","width","fontSize","xxlarge","fontWeight","bold","lineHeight","color","text","primary","marginBottom","textContainer","marginTop","large","opacity","tips","tip","flexDirection","overflow","alignItems","borderRadius","gray","extra","spacing","micro","tipText","icon","margin","button","cta","buttonText","alignSelf","Tip","props","templateContext","styleSheet","setStylesheet","Icon","_stylesheet","Onboarding","translations","onPress","appReview","presentation","labelList","skills","questions","lifes","allright","ok"],"sources":["../../../src/atom/review-presentation/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {View, StyleSheet, Text, ViewStyle, TextStyle} from 'react-native';\nimport {\n NovaLineSelectionCursorsCursorArrowTarget as TargetIcon,\n NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionMarkIcon,\n NovaSolidStatusCheckCircle2 as CheckCircle2Icon,\n NovaCompositionCoorpacademyVoteHeartOutline as HeartIcon\n} from '@coorpacademy/nova-icons';\n\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport Html from '../html/index.native';\nimport {Brand} from '../../variables/brand.native';\nimport {OnboardingProps, TipProps} from './prop-types';\n\ntype StyleSheetType = {\n container: ViewStyle;\n title: TextStyle;\n text: TextStyle;\n textContainer: ViewStyle;\n tips: ViewStyle;\n tip: ViewStyle;\n tipText: TextStyle;\n icon: ViewStyle;\n button: ViewStyle;\n buttonText: TextStyle;\n};\n\nconst createStyleSheet = (brandTheme: Brand, theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n backgroundColor: theme.colors.white,\n justifyContent: 'space-between',\n flex: 1,\n padding: 20,\n paddingTop: 20,\n paddingBottom: 100\n },\n title: {\n height: 72,\n width: 268,\n fontSize: theme.fontSize.xxlarge,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 36,\n color: theme.colors.text.primary,\n marginBottom: 32\n },\n textContainer: {\n marginTop: 8\n },\n text: {\n fontSize: theme.fontSize.large,\n color: theme.colors.text.primary,\n opacity: 0.7\n },\n tips: {\n marginTop: 32,\n height: 230,\n justifyContent: 'center'\n },\n tip: {\n flexDirection: 'row',\n overflow: 'hidden',\n alignItems: 'center',\n height: 54,\n borderRadius: 8,\n backgroundColor: theme.colors.gray.extra,\n marginTop: theme.spacing.micro,\n marginBottom: theme.spacing.micro\n },\n tipText: {\n fontSize: 16,\n lineHeight: 22,\n color: theme.colors.text.primary\n },\n icon: {\n margin: 10\n },\n button: {\n height: 52,\n borderRadius: 7,\n marginBottom: 32,\n marginTop: 16,\n backgroundColor: brandTheme?.colors?.primary || theme.colors.cta,\n justifyContent: 'center'\n },\n buttonText: {\n alignSelf: 'center',\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.large,\n color: '#fff'\n }\n });\n\nconst Tip = (props: TipProps) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme} = templateContext;\n const {Icon, text} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [brandTheme, theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.tip}>\n <Icon height={16} width={16} style={styleSheet.icon} color={theme.colors.text.primary} />\n <Text style={styleSheet.tipText}>{text}</Text>\n </View>\n );\n};\n\nconst Onboarding = (props: OnboardingProps) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme, translations} = templateContext;\n const {onPress} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [brandTheme, theme]);\n\n // ------------------------------------\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.container}>\n <Html style={styleSheet.title}>{translations.appReview.presentation.title}</Html>\n\n <View style={styleSheet.textContainer}>\n <Html style={styleSheet.text}>{translations.appReview.presentation.text}</Html>\n </View>\n\n <View style={styleSheet.tips}>\n <Tip Icon={TargetIcon} text={translations.appReview.presentation.labelList.skills.text} />\n <Tip\n Icon={QuestionMarkIcon}\n text={translations.appReview.presentation.labelList.questions.text}\n />\n <Tip Icon={HeartIcon} text={translations.appReview.presentation.labelList.lifes.text} />\n <Tip\n Icon={CheckCircle2Icon}\n text={translations.appReview.presentation.labelList.allright.text}\n />\n </View>\n <Touchable\n testID=\"button-quit-revision-onboarding\"\n onPress={onPress}\n analyticsID=\"button-start\"\n style={styleSheet.button}\n >\n <Text style={styleSheet.buttonText}>{translations.ok}</Text>\n </Touchable>\n </View>\n );\n};\n\nexport default Onboarding;\n"],"mappings":"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"}
@@ -3,12 +3,14 @@
3
3
  @value mobile from breakpoints;
4
4
  @value colors: "../../variables/colors.css";
5
5
  @value xtraLightGrey from colors;
6
- @value cm_blue_900 from colors;
7
6
  @value cm_grey_75 from colors;
8
- @value cm_grey_500 from colors;
9
- @value cm_grey_700 from colors;
10
- @value white from colors;
11
7
 
8
+ .reviewWrapper {
9
+ width: 100%;
10
+ border-radius: 16px;
11
+ background-color: xtraLightGrey;
12
+ padding-bottom: 40px;
13
+ }
12
14
 
13
15
  .textBase {
14
16
  font-family: "Gilroy";
@@ -17,13 +19,6 @@
17
19
  user-select: none;
18
20
  }
19
21
 
20
- .reviewWrapper {
21
- width: 100%;
22
- border-radius: 16px;
23
- background-color: xtraLightGrey;
24
- padding-bottom: 40px;
25
- }
26
-
27
22
  .reviewTitle {
28
23
  composes: textBase;
29
24
  font-weight: 700;
@@ -77,61 +72,6 @@
77
72
  width: 16px;
78
73
  }
79
74
 
80
- .informationIcon {
81
- color: cm_grey_500;
82
- }
83
-
84
- .toolTip {
85
- transition: opacity 0.8s;
86
- position: absolute;
87
- height: auto;
88
- width: 200px;
89
- border-radius: 7px;
90
- background-color: cm_grey_700;
91
- right: -81px;
92
- bottom: 32px;
93
- }
94
-
95
- .toolTip::before {
96
- content: '';
97
- display: inline-block;
98
- visibility: inherit;
99
- opacity: inherit;
100
- width: 15px;
101
- height: 15px;
102
- transform: rotate(-45deg);
103
- background-color: cm_grey_700;
104
- position: inherit;
105
- bottom: -5px;
106
- right: 40%;
107
- border-radius: 2px;
108
- }
109
-
110
- .tooltipText {
111
- composes: textBase;
112
- font-weight: 500;
113
- font-size: 14px;
114
- display: inline-block;
115
- border-radius: 3px;
116
- word-wrap: break-word;
117
- color: white;
118
- padding: 8px 14px;
119
- text-align: center;
120
- }
121
-
122
- .tooltipContainer {
123
- overflow: visible;
124
- position: relative;
125
- }
126
-
127
- .tooltipIconContainer {
128
- display: flex;
129
- justify-content: flex-end;
130
- border: none;
131
- background: cm_grey_75;
132
- height: 25px;
133
- }
134
-
135
75
  @media tablet {
136
76
  .reviewWrapper{
137
77
  width: 100%;
@@ -142,4 +82,4 @@
142
82
  .reviewWrapper{
143
83
  width: 100%;
144
84
  }
145
- }
85
+ }
@@ -0,0 +1,22 @@
1
+ export function toggleStateOnKeyPress(state: any, setState: any, ref: any): (event: any) => void;
2
+ export default ToolTip;
3
+ declare function ToolTip({ anchorId, TooltipContent, "aria-label": ariaLabel, "data-testid": dataTestId, closeToolTipInformationTextAriaLabel, toolTipIsVisible: _toolTipIsVisible }: {
4
+ anchorId: any;
5
+ TooltipContent: any;
6
+ "aria-label": any;
7
+ "data-testid": any;
8
+ closeToolTipInformationTextAriaLabel: any;
9
+ toolTipIsVisible: any;
10
+ }): JSX.Element;
11
+ declare namespace ToolTip {
12
+ const propTypes: {
13
+ TooltipContent: PropTypes.Requireable<NonNullable<((...args: any[]) => any) | PropTypes.ReactNodeLike>>;
14
+ 'data-testid': PropTypes.Requireable<string>;
15
+ 'aria-label': PropTypes.Requireable<string>;
16
+ closeToolTipInformationTextAriaLabel: PropTypes.Validator<string>;
17
+ anchorId: PropTypes.Requireable<string>;
18
+ toolTipIsVisible: PropTypes.Requireable<boolean>;
19
+ };
20
+ }
21
+ import PropTypes from "prop-types";
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/tooltip/index.js"],"names":[],"mappings":"AA+CO,iGASN;;AAED;;;;;;;gBA2EC"}
@@ -0,0 +1,117 @@
1
+ import React, { isValidElement, useState, useCallback, useMemo } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import ReactTooltip from 'react-tooltip';
4
+ import isString from 'lodash/fp/isString';
5
+ import { NovaCompositionCoorpacademyInformationIcon as InformationIcon } from '@coorpacademy/nova-icons';
6
+ import style from './style.css';
7
+
8
+ const ToolTipWrapper = ({
9
+ toolTipIsVisible,
10
+ anchorId,
11
+ closeToolTipInformationTextAriaLabel,
12
+ content
13
+ }) => {
14
+ if (!toolTipIsVisible) return null;
15
+
16
+ if (anchorId) {
17
+ return /*#__PURE__*/React.createElement(ReactTooltip, {
18
+ id: anchorId,
19
+ className: style.toolTipReact,
20
+ "data-event-off": "click",
21
+ place: "left",
22
+ effect: "solid",
23
+ "aria-label": closeToolTipInformationTextAriaLabel
24
+ }, content);
25
+ } else {
26
+ return /*#__PURE__*/React.createElement("div", {
27
+ className: style.toolTip,
28
+ "data-testid": "tooltip",
29
+ "aria-label": closeToolTipInformationTextAriaLabel
30
+ }, content);
31
+ }
32
+ };
33
+
34
+ ToolTipWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
35
+ toolTipIsVisible: PropTypes.bool,
36
+ anchorId: PropTypes.string,
37
+ closeToolTipInformationTextAriaLabel: PropTypes.string.isRequired,
38
+ content: PropTypes.node
39
+ } : {};
40
+ export const toggleStateOnKeyPress = (state, setState, ref) => event => {
41
+ if (event.key === 'Enter') {
42
+ if (ref) ref.current.focus();
43
+ event.stopPropagation();
44
+ event.preventDefault();
45
+ setState(!state);
46
+ } else if (event.key === 'Tab' || event.key === 'Escape') {
47
+ setState(false);
48
+ }
49
+ };
50
+
51
+ const ToolTip = ({
52
+ anchorId,
53
+ TooltipContent,
54
+ 'aria-label': ariaLabel,
55
+ 'data-testid': dataTestId,
56
+ closeToolTipInformationTextAriaLabel,
57
+ toolTipIsVisible: _toolTipIsVisible
58
+ }) => {
59
+ const isComponent = useMemo(() => !isString(TooltipContent) && /*#__PURE__*/isValidElement(TooltipContent()), [TooltipContent]);
60
+ const [toolTipIsVisible, setToolTipIsVisible] = useState(false);
61
+ const handleKeyPress = useCallback(event => {
62
+ toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible)(event);
63
+ }, [toolTipIsVisible]);
64
+ const handleMouseOver = useCallback(() => {
65
+ setToolTipIsVisible(true);
66
+ }, []);
67
+ const handleMouseLeave = useCallback(() => {
68
+ setToolTipIsVisible(false);
69
+ }, []);
70
+ const content = useMemo(() => {
71
+ return isComponent ? /*#__PURE__*/React.createElement(TooltipContent, null) : /*#__PURE__*/React.createElement("p", {
72
+ className: style.tooltipContent
73
+ }, TooltipContent);
74
+ }, [TooltipContent, isComponent]);
75
+ return anchorId ? /*#__PURE__*/React.createElement(ToolTipWrapper, {
76
+ toolTipIsVisible: _toolTipIsVisible,
77
+ anchorId: anchorId,
78
+ closeToolTipInformationTextAriaLabel: closeToolTipInformationTextAriaLabel,
79
+ content: content,
80
+ onMouseLeave: handleMouseLeave,
81
+ onMouseOver: handleMouseOver
82
+ }) : /*#__PURE__*/React.createElement("div", {
83
+ className: style.tooltipContainer,
84
+ onMouseLeave: handleMouseLeave,
85
+ onMouseOver: handleMouseOver
86
+ }, /*#__PURE__*/React.createElement("button", {
87
+ type: "button",
88
+ className: style.tooltipIconContainer,
89
+ "data-testid": dataTestId,
90
+ onKeyDown: handleKeyPress,
91
+ tabIndex: 0
92
+ }, /*#__PURE__*/React.createElement(InformationIcon, {
93
+ className: style.informationIcon,
94
+ width: 12,
95
+ height: 12,
96
+ "aria-label": ariaLabel
97
+ })), /*#__PURE__*/React.createElement(ToolTipWrapper, {
98
+ toolTipIsVisible: toolTipIsVisible,
99
+ anchorId: anchorId,
100
+ closeToolTipInformationTextAriaLabel: closeToolTipInformationTextAriaLabel,
101
+ content: content
102
+ }));
103
+ };
104
+
105
+ ToolTip.propTypes = process.env.NODE_ENV !== "production" ? {
106
+ TooltipContent: PropTypes.oneOfType([PropTypes.func, PropTypes.node, PropTypes.string]),
107
+ 'data-testid': PropTypes.string,
108
+ 'aria-label': PropTypes.string,
109
+ closeToolTipInformationTextAriaLabel: PropTypes.string.isRequired,
110
+ // ---------- externalHandling --------------
111
+ // if passed down, React Tooltip is used instead, due to limitations on
112
+ // parents overflow hidden controls
113
+ anchorId: PropTypes.string,
114
+ toolTipIsVisible: PropTypes.bool
115
+ } : {};
116
+ export default ToolTip;
117
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","isValidElement","useState","useCallback","useMemo","PropTypes","ReactTooltip","isString","NovaCompositionCoorpacademyInformationIcon","InformationIcon","style","ToolTipWrapper","toolTipIsVisible","anchorId","closeToolTipInformationTextAriaLabel","content","toolTipReact","toolTip","propTypes","bool","string","isRequired","node","toggleStateOnKeyPress","state","setState","ref","event","key","current","focus","stopPropagation","preventDefault","ToolTip","TooltipContent","ariaLabel","dataTestId","_toolTipIsVisible","isComponent","setToolTipIsVisible","handleKeyPress","handleMouseOver","handleMouseLeave","tooltipContent","tooltipContainer","tooltipIconContainer","informationIcon","oneOfType","func"],"sources":["../../../src/atom/tooltip/index.js"],"sourcesContent":["import React, {isValidElement, useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport ReactTooltip from 'react-tooltip';\nimport isString from 'lodash/fp/isString';\nimport {NovaCompositionCoorpacademyInformationIcon as InformationIcon} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nconst ToolTipWrapper = ({\n toolTipIsVisible,\n anchorId,\n closeToolTipInformationTextAriaLabel,\n content\n}) => {\n if (!toolTipIsVisible) return null;\n if (anchorId) {\n return (\n <ReactTooltip\n id={anchorId}\n className={style.toolTipReact}\n data-event-off=\"click\"\n place=\"left\"\n effect=\"solid\"\n aria-label={closeToolTipInformationTextAriaLabel}\n >\n {content}\n </ReactTooltip>\n );\n } else {\n return (\n <div\n className={style.toolTip}\n data-testid=\"tooltip\"\n aria-label={closeToolTipInformationTextAriaLabel}\n >\n {content}\n </div>\n );\n }\n};\n\nToolTipWrapper.propTypes = {\n toolTipIsVisible: PropTypes.bool,\n anchorId: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string.isRequired,\n content: PropTypes.node\n};\n\nexport const toggleStateOnKeyPress = (state, setState, ref) => event => {\n if (event.key === 'Enter') {\n if (ref) ref.current.focus();\n event.stopPropagation();\n event.preventDefault();\n setState(!state);\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n setState(false);\n }\n};\n\nconst ToolTip = ({\n anchorId,\n TooltipContent,\n 'aria-label': ariaLabel,\n 'data-testid': dataTestId,\n closeToolTipInformationTextAriaLabel,\n toolTipIsVisible: _toolTipIsVisible\n}) => {\n const isComponent = useMemo(\n () => !isString(TooltipContent) && isValidElement(TooltipContent()),\n [TooltipContent]\n );\n\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible)(event);\n },\n [toolTipIsVisible]\n );\n\n const handleMouseOver = useCallback(() => {\n setToolTipIsVisible(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setToolTipIsVisible(false);\n }, []);\n\n const content = useMemo(() => {\n return isComponent ? (\n <TooltipContent />\n ) : (\n <p className={style.tooltipContent}>{TooltipContent}</p>\n );\n }, [TooltipContent, isComponent]);\n\n return anchorId ? (\n <ToolTipWrapper\n toolTipIsVisible={_toolTipIsVisible}\n anchorId={anchorId}\n closeToolTipInformationTextAriaLabel={closeToolTipInformationTextAriaLabel}\n content={content}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n />\n ) : (\n <div\n className={style.tooltipContainer}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n >\n <button\n type=\"button\"\n className={style.tooltipIconContainer}\n data-testid={dataTestId}\n onKeyDown={handleKeyPress}\n tabIndex={0}\n >\n <InformationIcon\n className={style.informationIcon}\n width={12}\n height={12}\n aria-label={ariaLabel}\n />\n </button>\n <ToolTipWrapper\n toolTipIsVisible={toolTipIsVisible}\n anchorId={anchorId}\n closeToolTipInformationTextAriaLabel={closeToolTipInformationTextAriaLabel}\n content={content}\n />\n </div>\n );\n};\n\nToolTip.propTypes = {\n TooltipContent: PropTypes.oneOfType([PropTypes.func, PropTypes.node, PropTypes.string]),\n 'data-testid': PropTypes.string,\n 'aria-label': PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string.isRequired,\n // ---------- externalHandling --------------\n // if passed down, React Tooltip is used instead, due to limitations on\n // parents overflow hidden controls\n anchorId: PropTypes.string,\n toolTipIsVisible: PropTypes.bool\n};\n\nexport default ToolTip;\n"],"mappings":"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"}