@coorpacademy/components 11.9.0 → 11.9.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.
- package/es/atom/loader/index.native.d.ts.map +1 -1
- package/es/atom/loader/index.native.js +11 -9
- package/es/atom/loader/index.native.js.map +1 -1
- package/es/atom/review-presentation/index.native.d.ts.map +1 -1
- package/es/atom/review-presentation/index.native.js +7 -2
- package/es/atom/review-presentation/index.native.js.map +1 -1
- package/es/template/app-review/index.native.d.ts.map +1 -1
- package/es/template/app-review/index.native.js +48 -20
- package/es/template/app-review/index.native.js.map +1 -1
- package/es/template/app-review/skills/index.native.d.ts.map +1 -1
- package/es/template/app-review/skills/index.native.js +26 -5
- package/es/template/app-review/skills/index.native.js.map +1 -1
- package/lib/atom/loader/index.native.d.ts.map +1 -1
- package/lib/atom/loader/index.native.js +11 -9
- package/lib/atom/loader/index.native.js.map +1 -1
- package/lib/atom/review-presentation/index.native.d.ts.map +1 -1
- package/lib/atom/review-presentation/index.native.js +7 -2
- package/lib/atom/review-presentation/index.native.js.map +1 -1
- package/lib/template/app-review/index.native.d.ts.map +1 -1
- package/lib/template/app-review/index.native.js +49 -19
- package/lib/template/app-review/index.native.js.map +1 -1
- package/lib/template/app-review/skills/index.native.d.ts.map +1 -1
- package/lib/template/app-review/skills/index.native.js +30 -7
- package/lib/template/app-review/skills/index.native.js.map +1 -1
- package/locales/.mtslconfig.json +1 -0
- package/package.json +3 -3
|
@@ -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,
|
|
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 [
|
|
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
|
-
}, [
|
|
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.native.d.ts","sourceRoot":"","sources":["../../../src/atom/review-presentation/index.native.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAC,eAAe,EAAW,MAAM,cAAc,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(
|
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/template/app-review/index.native.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/template/app-review/index.native.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AA8B5C,QAAA,MAAM,SAAS,UAAW,cAAc,gBA8CvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,33 +1,40 @@
|
|
|
1
1
|
import React, { useEffect } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
2
|
+
import { StyleSheet, View, BackHandler, Animated } from 'react-native';
|
|
3
|
+
import { useAnimateProp, useAnimationWaiter } from '@coorpacademy/react-native-animation';
|
|
4
|
+
import Loader from '../../atom/loader/index.native';
|
|
5
|
+
import Player from './player/index.native';
|
|
4
6
|
const styles = StyleSheet.create({
|
|
5
7
|
rootView: {
|
|
6
8
|
flex: 1,
|
|
7
9
|
alignItems: 'center',
|
|
8
10
|
justifyContent: 'center'
|
|
11
|
+
},
|
|
12
|
+
player: {
|
|
13
|
+
position: 'absolute',
|
|
14
|
+
top: 0,
|
|
15
|
+
left: 0,
|
|
16
|
+
right: 0,
|
|
17
|
+
bottom: 0,
|
|
18
|
+
justifyContent: 'center',
|
|
19
|
+
alignItems: 'center',
|
|
20
|
+
flex: 1
|
|
21
|
+
},
|
|
22
|
+
loaderContainer: {
|
|
23
|
+
position: 'absolute',
|
|
24
|
+
top: 0,
|
|
25
|
+
left: 0,
|
|
26
|
+
right: 0,
|
|
27
|
+
bottom: 0,
|
|
28
|
+
justifyContent: 'center',
|
|
29
|
+
alignItems: 'center'
|
|
9
30
|
}
|
|
10
31
|
});
|
|
11
32
|
|
|
12
|
-
const Switch = ({
|
|
13
|
-
viewName,
|
|
14
|
-
slides
|
|
15
|
-
}) => {
|
|
16
|
-
switch (viewName) {
|
|
17
|
-
case 'slides':
|
|
18
|
-
return /*#__PURE__*/React.createElement(Player, slides);
|
|
19
|
-
|
|
20
|
-
case 'loader':
|
|
21
|
-
return /*#__PURE__*/React.createElement(Text, null, "@todo loader");
|
|
22
|
-
|
|
23
|
-
default:
|
|
24
|
-
return /*#__PURE__*/React.createElement(Text, null, `unknown viewName: "${viewName}"`);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
|
|
28
33
|
const AppReview = props => {
|
|
29
34
|
const {
|
|
30
|
-
navigateBack
|
|
35
|
+
navigateBack,
|
|
36
|
+
viewName,
|
|
37
|
+
slides
|
|
31
38
|
} = props;
|
|
32
39
|
useEffect(() => {
|
|
33
40
|
const backAction = () => {
|
|
@@ -41,9 +48,30 @@ const AppReview = props => {
|
|
|
41
48
|
const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);
|
|
42
49
|
return () => backHandler.remove();
|
|
43
50
|
}, [navigateBack]);
|
|
51
|
+
const fadePlayerIn = useAnimateProp({
|
|
52
|
+
property: 'opacity',
|
|
53
|
+
fromValue: 0,
|
|
54
|
+
toValue: 1,
|
|
55
|
+
duration: 1300
|
|
56
|
+
});
|
|
57
|
+
const isLoading = viewName === 'loader';
|
|
58
|
+
useAnimationWaiter(isLoading, fadePlayerIn);
|
|
44
59
|
return /*#__PURE__*/React.createElement(View, {
|
|
45
60
|
style: styles.rootView
|
|
46
|
-
}, /*#__PURE__*/React.createElement(
|
|
61
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
62
|
+
style: [styles.player, fadePlayerIn.animatedStyle]
|
|
63
|
+
}, slides ? /*#__PURE__*/React.createElement(Player, {
|
|
64
|
+
congrats: slides.congrats,
|
|
65
|
+
header: slides.header,
|
|
66
|
+
stack: slides.stack,
|
|
67
|
+
quitPopin: slides.quitPopin,
|
|
68
|
+
backgroundImage: slides.backgroundImage
|
|
69
|
+
}) : null), /*#__PURE__*/React.createElement(View, {
|
|
70
|
+
style: styles.loaderContainer,
|
|
71
|
+
pointerEvents: "none"
|
|
72
|
+
}, /*#__PURE__*/React.createElement(Loader, {
|
|
73
|
+
readyToHide: !isLoading
|
|
74
|
+
})));
|
|
47
75
|
};
|
|
48
76
|
|
|
49
77
|
export default AppReview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useEffect","
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useEffect","StyleSheet","View","BackHandler","Animated","useAnimateProp","useAnimationWaiter","Loader","Player","styles","create","rootView","flex","alignItems","justifyContent","player","position","top","left","right","bottom","loaderContainer","AppReview","props","navigateBack","viewName","slides","backAction","backHandler","addEventListener","remove","fadePlayerIn","property","fromValue","toValue","duration","isLoading","animatedStyle","congrats","header","stack","quitPopin","backgroundImage"],"sources":["../../../src/template/app-review/index.native.tsx"],"sourcesContent":["import React, {useEffect} from 'react';\nimport {StyleSheet, View, BackHandler, Animated} from 'react-native';\nimport {useAnimateProp, useAnimationWaiter} from '@coorpacademy/react-native-animation';\nimport Loader from '../../atom/loader/index.native';\nimport {AppReviewProps} from './prop-types';\nimport Player from './player/index.native';\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n },\n player: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1\n },\n loaderContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\nconst AppReview = (props: AppReviewProps) => {\n const {navigateBack, viewName, slides} = props;\n\n useEffect(() => {\n const backAction = () => {\n if (navigateBack) {\n navigateBack();\n return true;\n }\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n const fadePlayerIn = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n duration: 1300\n });\n\n const isLoading = viewName === 'loader';\n useAnimationWaiter(isLoading, fadePlayerIn);\n\n return (\n <View style={styles.rootView}>\n <Animated.View style={[styles.player, fadePlayerIn.animatedStyle]}>\n {slides ? (\n <Player\n congrats={slides.congrats}\n header={slides.header}\n stack={slides.stack}\n quitPopin={slides.quitPopin}\n backgroundImage={slides.backgroundImage}\n />\n ) : null}\n </Animated.View>\n\n <View style={styles.loaderContainer} pointerEvents=\"none\">\n <Loader readyToHide={!isLoading} />\n </View>\n </View>\n );\n};\n\nexport default AppReview;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,SAAf,QAA+B,OAA/B;AACA,SAAQC,UAAR,EAAoBC,IAApB,EAA0BC,WAA1B,EAAuCC,QAAvC,QAAsD,cAAtD;AACA,SAAQC,cAAR,EAAwBC,kBAAxB,QAAiD,sCAAjD;AACA,OAAOC,MAAP,MAAmB,gCAAnB;AAEA,OAAOC,MAAP,MAAmB,uBAAnB;AAEA,MAAMC,MAAM,GAAGR,UAAU,CAACS,MAAX,CAAkB;EAC/BC,QAAQ,EAAE;IACRC,IAAI,EAAE,CADE;IAERC,UAAU,EAAE,QAFJ;IAGRC,cAAc,EAAE;EAHR,CADqB;EAM/BC,MAAM,EAAE;IACNC,QAAQ,EAAE,UADJ;IAENC,GAAG,EAAE,CAFC;IAGNC,IAAI,EAAE,CAHA;IAINC,KAAK,EAAE,CAJD;IAKNC,MAAM,EAAE,CALF;IAMNN,cAAc,EAAE,QANV;IAOND,UAAU,EAAE,QAPN;IAQND,IAAI,EAAE;EARA,CANuB;EAgB/BS,eAAe,EAAE;IACfL,QAAQ,EAAE,UADK;IAEfC,GAAG,EAAE,CAFU;IAGfC,IAAI,EAAE,CAHS;IAIfC,KAAK,EAAE,CAJQ;IAKfC,MAAM,EAAE,CALO;IAMfN,cAAc,EAAE,QAND;IAOfD,UAAU,EAAE;EAPG;AAhBc,CAAlB,CAAf;;AA2BA,MAAMS,SAAS,GAAIC,KAAD,IAA2B;EAC3C,MAAM;IAACC,YAAD;IAAeC,QAAf;IAAyBC;EAAzB,IAAmCH,KAAzC;EAEAvB,SAAS,CAAC,MAAM;IACd,MAAM2B,UAAU,GAAG,MAAM;MACvB,IAAIH,YAAJ,EAAkB;QAChBA,YAAY;QACZ,OAAO,IAAP;MACD;IACF,CALD,CADc,CAQd;;;IACA,MAAMI,WAAW,GAAGzB,WAAW,CAAC0B,gBAAZ,CAA6B,mBAA7B,EAAkDF,UAAlD,CAApB;IAEA,OAAO,MAAMC,WAAW,CAACE,MAAZ,EAAb;EACD,CAZQ,EAYN,CAACN,YAAD,CAZM,CAAT;EAcA,MAAMO,YAAY,GAAG1B,cAAc,CAAC;IAClC2B,QAAQ,EAAE,SADwB;IAElCC,SAAS,EAAE,CAFuB;IAGlCC,OAAO,EAAE,CAHyB;IAIlCC,QAAQ,EAAE;EAJwB,CAAD,CAAnC;EAOA,MAAMC,SAAS,GAAGX,QAAQ,KAAK,QAA/B;EACAnB,kBAAkB,CAAC8B,SAAD,EAAYL,YAAZ,CAAlB;EAEA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEtB,MAAM,CAACE;EAApB,gBACE,oBAAC,QAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACF,MAAM,CAACM,MAAR,EAAgBgB,YAAY,CAACM,aAA7B;EAAtB,GACGX,MAAM,gBACL,oBAAC,MAAD;IACE,QAAQ,EAAEA,MAAM,CAACY,QADnB;IAEE,MAAM,EAAEZ,MAAM,CAACa,MAFjB;IAGE,KAAK,EAAEb,MAAM,CAACc,KAHhB;IAIE,SAAS,EAAEd,MAAM,CAACe,SAJpB;IAKE,eAAe,EAAEf,MAAM,CAACgB;EAL1B,EADK,GAQH,IATN,CADF,eAaE,oBAAC,IAAD;IAAM,KAAK,EAAEjC,MAAM,CAACY,eAApB;IAAqC,aAAa,EAAC;EAAnD,gBACE,oBAAC,MAAD;IAAQ,WAAW,EAAE,CAACe;EAAtB,EADF,CAbF,CADF;AAmBD,CA9CD;;AAgDA,eAAed,SAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/app-review/skills/index.native.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/app-review/skills/index.native.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAmC/C,QAAA,MAAM,YAAY,UAAW,iBAAiB,uBAmD7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { useAnimateProp, useAnimationWaiter } from '@coorpacademy/react-native-animation';
|
|
1
2
|
import React, { useState, useEffect } from 'react';
|
|
2
|
-
import { Text, View, StyleSheet } from 'react-native';
|
|
3
|
+
import { Text, View, StyleSheet, Animated } from 'react-native';
|
|
4
|
+
import Loader from '../../../atom/loader/index.native';
|
|
3
5
|
import ReviewNoSkills from '../../../organism/review-no-skills/index.native';
|
|
4
6
|
import ReviewListSkills from '../../../organism/review-skills/index.native';
|
|
5
7
|
import { useTemplateContext } from '../template-context';
|
|
@@ -11,6 +13,15 @@ const createStyleSheet = theme => StyleSheet.create({
|
|
|
11
13
|
width: '100%',
|
|
12
14
|
backgroundColor: theme.colors.white
|
|
13
15
|
},
|
|
16
|
+
loaderContainer: {
|
|
17
|
+
position: 'absolute',
|
|
18
|
+
top: 0,
|
|
19
|
+
left: 0,
|
|
20
|
+
right: 0,
|
|
21
|
+
bottom: 0,
|
|
22
|
+
justifyContent: 'center',
|
|
23
|
+
alignItems: 'center'
|
|
24
|
+
},
|
|
14
25
|
title: {
|
|
15
26
|
fontSize: theme.fontSize.xlarge,
|
|
16
27
|
fontWeight: theme.fontWeight.bold,
|
|
@@ -26,7 +37,6 @@ const ReviewSkills = props => {
|
|
|
26
37
|
'aria-label': ariaLabel,
|
|
27
38
|
title,
|
|
28
39
|
isLoading,
|
|
29
|
-
isLoadingAriaLabel,
|
|
30
40
|
listSkills,
|
|
31
41
|
titleNoSkills,
|
|
32
42
|
textNoSkills,
|
|
@@ -42,6 +52,12 @@ const ReviewSkills = props => {
|
|
|
42
52
|
|
|
43
53
|
setStylesheet(_stylesheet);
|
|
44
54
|
}, [theme]);
|
|
55
|
+
const fadeResultsIn = useAnimateProp({
|
|
56
|
+
property: 'opacity',
|
|
57
|
+
fromValue: 0,
|
|
58
|
+
toValue: 1
|
|
59
|
+
});
|
|
60
|
+
useAnimationWaiter(isLoading, fadeResultsIn);
|
|
45
61
|
|
|
46
62
|
if (!styleSheet) {
|
|
47
63
|
return null;
|
|
@@ -52,14 +68,19 @@ const ReviewSkills = props => {
|
|
|
52
68
|
accessibilityLabel: ariaLabel
|
|
53
69
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
54
70
|
style: styleSheet.title
|
|
55
|
-
}, title),
|
|
56
|
-
|
|
57
|
-
},
|
|
71
|
+
}, title), /*#__PURE__*/React.createElement(Animated.View, {
|
|
72
|
+
style: fadeResultsIn.animatedStyle
|
|
73
|
+
}, !listSkills || listSkills.length === 0 ? /*#__PURE__*/React.createElement(ReviewNoSkills, {
|
|
58
74
|
titleNoSkills: titleNoSkills,
|
|
59
75
|
textNoSkills: textNoSkills,
|
|
60
76
|
iconSkillAriaLabel: iconSkillAriaLabel
|
|
61
77
|
}) : /*#__PURE__*/React.createElement(ReviewListSkills, {
|
|
62
78
|
listSkills: listSkills
|
|
79
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
80
|
+
style: styleSheet.loaderContainer,
|
|
81
|
+
pointerEvents: "none"
|
|
82
|
+
}, /*#__PURE__*/React.createElement(Loader, {
|
|
83
|
+
readyToHide: !isLoading
|
|
63
84
|
})));
|
|
64
85
|
};
|
|
65
86
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useState","useEffect","Text","View","StyleSheet","ReviewNoSkills","ReviewListSkills","useTemplateContext","createStyleSheet","theme","create","container","flex","padding","width","backgroundColor","colors","white","title","fontSize","xlarge","fontWeight","bold","lineHeight","color","text","primary","marginBottom","spacing","base","marginTop","small","ReviewSkills","props","ariaLabel","isLoading","
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["useAnimateProp","useAnimationWaiter","React","useState","useEffect","Text","View","StyleSheet","Animated","Loader","ReviewNoSkills","ReviewListSkills","useTemplateContext","createStyleSheet","theme","create","container","flex","padding","width","backgroundColor","colors","white","loaderContainer","position","top","left","right","bottom","justifyContent","alignItems","title","fontSize","xlarge","fontWeight","bold","lineHeight","color","text","primary","marginBottom","spacing","base","marginTop","small","ReviewSkills","props","ariaLabel","isLoading","listSkills","titleNoSkills","textNoSkills","iconSkillAriaLabel","templateContext","styleSheet","setStylesheet","_stylesheet","fadeResultsIn","property","fromValue","toValue","animatedStyle","length"],"sources":["../../../../src/template/app-review/skills/index.native.tsx"],"sourcesContent":["import {useAnimateProp, useAnimationWaiter} from '@coorpacademy/react-native-animation';\nimport React, {useState, useEffect} from 'react';\nimport {Text, View, StyleSheet, ViewStyle, TextStyle, Animated} from 'react-native';\nimport Loader from '../../../atom/loader/index.native';\nimport ReviewNoSkills from '../../../organism/review-no-skills/index.native';\nimport ReviewListSkills from '../../../organism/review-skills/index.native';\nimport {Theme} from '../../../variables/theme.native';\nimport {useTemplateContext} from '../template-context';\nimport {ReviewSkillsProps} from './prop-types';\n\ntype StyleSheetType = {\n container: ViewStyle;\n loaderContainer: ViewStyle;\n title: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n width: '100%',\n backgroundColor: theme.colors.white\n },\n loaderContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n justifyContent: 'center',\n alignItems: 'center'\n },\n title: {\n fontSize: theme.fontSize.xlarge,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 28,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.base,\n marginTop: theme.spacing.small\n }\n });\n\nconst ReviewSkills = (props: ReviewSkillsProps) => {\n const {\n 'aria-label': ariaLabel,\n title,\n isLoading,\n listSkills,\n titleNoSkills,\n textNoSkills,\n iconSkillAriaLabel\n } = props;\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const fadeResultsIn = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1\n });\n\n useAnimationWaiter(isLoading, fadeResultsIn);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.container} accessibilityLabel={ariaLabel}>\n <Text style={styleSheet.title}>{title}</Text>\n\n <Animated.View style={fadeResultsIn.animatedStyle}>\n {!listSkills || listSkills.length === 0 ? (\n <ReviewNoSkills\n titleNoSkills={titleNoSkills}\n textNoSkills={textNoSkills}\n iconSkillAriaLabel={iconSkillAriaLabel}\n />\n ) : (\n <ReviewListSkills listSkills={listSkills} />\n )}\n </Animated.View>\n <View style={styleSheet.loaderContainer} pointerEvents=\"none\">\n <Loader readyToHide={!isLoading} />\n </View>\n </View>\n );\n};\n\nexport default ReviewSkills;\n"],"mappings":"AAAA,SAAQA,cAAR,EAAwBC,kBAAxB,QAAiD,sCAAjD;AACA,OAAOC,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,QAAyC,OAAzC;AACA,SAAQC,IAAR,EAAcC,IAAd,EAAoBC,UAApB,EAAsDC,QAAtD,QAAqE,cAArE;AACA,OAAOC,MAAP,MAAmB,mCAAnB;AACA,OAAOC,cAAP,MAA2B,iDAA3B;AACA,OAAOC,gBAAP,MAA6B,8CAA7B;AAEA,SAAQC,kBAAR,QAAiC,qBAAjC;;AASA,MAAMC,gBAAgB,GAAIC,KAAD,IACvBP,UAAU,CAACQ,MAAX,CAAkB;EAChBC,SAAS,EAAE;IACTC,IAAI,EAAE,CADG;IAETC,OAAO,EAAE,EAFA;IAGTC,KAAK,EAAE,MAHE;IAITC,eAAe,EAAEN,KAAK,CAACO,MAAN,CAAaC;EAJrB,CADK;EAOhBC,eAAe,EAAE;IACfC,QAAQ,EAAE,UADK;IAEfC,GAAG,EAAE,CAFU;IAGfC,IAAI,EAAE,CAHS;IAIfC,KAAK,EAAE,CAJQ;IAKfC,MAAM,EAAE,CALO;IAMfC,cAAc,EAAE,QAND;IAOfC,UAAU,EAAE;EAPG,CAPD;EAgBhBC,KAAK,EAAE;IACLC,QAAQ,EAAElB,KAAK,CAACkB,QAAN,CAAeC,MADpB;IAELC,UAAU,EAAEpB,KAAK,CAACoB,UAAN,CAAiBC,IAFxB;IAGLC,UAAU,EAAE,EAHP;IAILC,KAAK,EAAEvB,KAAK,CAACO,MAAN,CAAaiB,IAAb,CAAkBC,OAJpB;IAKLC,YAAY,EAAE1B,KAAK,CAAC2B,OAAN,CAAcC,IALvB;IAMLC,SAAS,EAAE7B,KAAK,CAAC2B,OAAN,CAAcG;EANpB;AAhBS,CAAlB,CADF;;AA2BA,MAAMC,YAAY,GAAIC,KAAD,IAA8B;EACjD,MAAM;IACJ,cAAcC,SADV;IAEJhB,KAFI;IAGJiB,SAHI;IAIJC,UAJI;IAKJC,aALI;IAMJC,YANI;IAOJC;EAPI,IAQFN,KARJ;EASA,MAAMO,eAAe,GAAGzC,kBAAkB,EAA1C;EACA,MAAM,CAAC0C,UAAD,EAAaC,aAAb,IAA8BpD,QAAQ,CAAwB,IAAxB,CAA5C;EACA,MAAM;IAACW;EAAD,IAAUuC,eAAhB;EAEAjD,SAAS,CAAC,MAAM;IACd,MAAMoD,WAAW,GAAG3C,gBAAgB,CAACC,KAAD,CAApC;;IACAyC,aAAa,CAACC,WAAD,CAAb;EACD,CAHQ,EAGN,CAAC1C,KAAD,CAHM,CAAT;EAKA,MAAM2C,aAAa,GAAGzD,cAAc,CAAC;IACnC0D,QAAQ,EAAE,SADyB;IAEnCC,SAAS,EAAE,CAFwB;IAGnCC,OAAO,EAAE;EAH0B,CAAD,CAApC;EAMA3D,kBAAkB,CAAC+C,SAAD,EAAYS,aAAZ,CAAlB;;EAEA,IAAI,CAACH,UAAL,EAAiB;IACf,OAAO,IAAP;EACD;;EAED,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEA,UAAU,CAACtC,SAAxB;IAAmC,kBAAkB,EAAE+B;EAAvD,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAEO,UAAU,CAACvB;EAAxB,GAAgCA,KAAhC,CADF,eAGE,oBAAC,QAAD,CAAU,IAAV;IAAe,KAAK,EAAE0B,aAAa,CAACI;EAApC,GACG,CAACZ,UAAD,IAAeA,UAAU,CAACa,MAAX,KAAsB,CAArC,gBACC,oBAAC,cAAD;IACE,aAAa,EAAEZ,aADjB;IAEE,YAAY,EAAEC,YAFhB;IAGE,kBAAkB,EAAEC;EAHtB,EADD,gBAOC,oBAAC,gBAAD;IAAkB,UAAU,EAAEH;EAA9B,EARJ,CAHF,eAcE,oBAAC,IAAD;IAAM,KAAK,EAAEK,UAAU,CAAC/B,eAAxB;IAAyC,aAAa,EAAC;EAAvD,gBACE,oBAAC,MAAD;IAAQ,WAAW,EAAE,CAACyB;EAAtB,EADF,CAdF,CADF;AAoBD,CAnDD;;AAqDA,eAAeH,YAAf"}
|
|
@@ -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,
|
|
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"}
|
|
@@ -46,14 +46,17 @@ const Loader = props => {
|
|
|
46
46
|
theme
|
|
47
47
|
} = templateContext;
|
|
48
48
|
const [styleSheet, setStylesheet] = (0, _react.useState)(null);
|
|
49
|
-
const [
|
|
49
|
+
const [hidden, setHidden] = (0, _react.useState)(false);
|
|
50
50
|
const [minTimeIsSpent, setMinTimeSpent] = (0, _react.useState)(false);
|
|
51
51
|
const rotation = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
52
52
|
const scale = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
53
53
|
const hideAnimation = (0, _reactNativeAnimation.useAnimateProp)({
|
|
54
54
|
property: 'opacity',
|
|
55
55
|
fromValue: 1,
|
|
56
|
-
toValue: 0
|
|
56
|
+
toValue: 0,
|
|
57
|
+
onComplete: () => {
|
|
58
|
+
setHidden(true);
|
|
59
|
+
}
|
|
57
60
|
});
|
|
58
61
|
const {
|
|
59
62
|
height = 60,
|
|
@@ -66,15 +69,10 @@ const Loader = props => {
|
|
|
66
69
|
setStylesheet(_stylesheet);
|
|
67
70
|
}, [theme]);
|
|
68
71
|
(0, _react.useEffect)(() => {
|
|
69
|
-
if (readyToHide && minTimeIsSpent) {
|
|
70
|
-
setVisible(false);
|
|
71
|
-
}
|
|
72
|
-
}, [readyToHide, minTimeIsSpent]);
|
|
73
|
-
(0, _react.useEffect)(() => {
|
|
74
|
-
if (!visible) {
|
|
72
|
+
if (readyToHide && minTimeIsSpent && !hidden) {
|
|
75
73
|
hideAnimation.start();
|
|
76
74
|
}
|
|
77
|
-
}, [
|
|
75
|
+
}, [hidden, hideAnimation, readyToHide, minTimeIsSpent]);
|
|
78
76
|
(0, _react.useEffect)(() => {
|
|
79
77
|
setTimeout(() => {
|
|
80
78
|
setMinTimeSpent(true);
|
|
@@ -122,6 +120,10 @@ const Loader = props => {
|
|
|
122
120
|
return null;
|
|
123
121
|
}
|
|
124
122
|
|
|
123
|
+
if (hidden) {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
|
|
125
127
|
const interpolatedScale = scale.interpolate({
|
|
126
128
|
inputRange: [0, 0.45, 1, 1.32, 1.5, 2, 2.3, 2.64, 3],
|
|
127
129
|
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":["createStyleSheet","theme","StyleSheet","create","container","alignItems","justifyContent","dot","position","blue","backgroundColor","colors","cta","red","negative","green","positive","yellow","battle","CYCLE_DURATION","MIN_TIME","Loader","props","templateContext","useTemplateContext","styleSheet","setStylesheet","useState","visible","setVisible","minTimeIsSpent","setMinTimeSpent","rotation","useRef","Animated","Value","current","scale","hideAnimation","useAnimateProp","property","fromValue","toValue","height","color","readyToHide","useEffect","_stylesheet","start","setTimeout","_animation","parallel","loop","sequence","timing","duration","useNativeDriver","easing","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":["createStyleSheet","theme","StyleSheet","create","container","alignItems","justifyContent","dot","position","blue","backgroundColor","colors","cta","red","negative","green","positive","yellow","battle","CYCLE_DURATION","MIN_TIME","Loader","props","templateContext","useTemplateContext","styleSheet","setStylesheet","useState","hidden","setHidden","minTimeIsSpent","setMinTimeSpent","rotation","useRef","Animated","Value","current","scale","hideAnimation","useAnimateProp","property","fromValue","toValue","onComplete","height","color","readyToHide","useEffect","_stylesheet","start","setTimeout","_animation","parallel","loop","sequence","timing","duration","useNativeDriver","easing","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.native.d.ts","sourceRoot":"","sources":["../../../src/atom/review-presentation/index.native.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAC,eAAe,EAAW,MAAM,cAAc,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"}
|
|
@@ -39,6 +39,9 @@ const createStyleSheet = (brandTheme, theme) => _reactNative.StyleSheet.create({
|
|
|
39
39
|
color: theme.colors.text.primary,
|
|
40
40
|
marginBottom: 32
|
|
41
41
|
},
|
|
42
|
+
textContainer: {
|
|
43
|
+
marginTop: 8
|
|
44
|
+
},
|
|
42
45
|
text: {
|
|
43
46
|
fontSize: theme.fontSize.large,
|
|
44
47
|
color: theme.colors.text.primary,
|
|
@@ -141,9 +144,11 @@ const Onboarding = props => {
|
|
|
141
144
|
style: styleSheet.container
|
|
142
145
|
}, /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
143
146
|
style: styleSheet.title
|
|
144
|
-
}, translations.appReview.presentation.title), /*#__PURE__*/_react.default.createElement(
|
|
147
|
+
}, translations.appReview.presentation.title), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
148
|
+
style: styleSheet.textContainer
|
|
149
|
+
}, /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
145
150
|
style: styleSheet.text
|
|
146
|
-
}, translations.appReview.presentation.text), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
151
|
+
}, translations.appReview.presentation.text)), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
147
152
|
style: styleSheet.tips
|
|
148
153
|
}, /*#__PURE__*/_react.default.createElement(Tip, {
|
|
149
154
|
Icon: _novaIcons.NovaLineSelectionCursorsCursorArrowTarget,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["createStyleSheet","brandTheme","theme","StyleSheet","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","
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["createStyleSheet","brandTheme","theme","StyleSheet","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","useTemplateContext","styleSheet","setStylesheet","useState","Icon","useEffect","_stylesheet","Onboarding","translations","onPress","appReview","presentation","TargetIcon","labelList","skills","QuestionMarkIcon","questions","HeartIcon","lifes","CheckCircle2Icon","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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/template/app-review/index.native.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/template/app-review/index.native.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AA8B5C,QAAA,MAAM,SAAS,UAAW,cAAc,gBA8CvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -7,7 +7,11 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
7
7
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _reactNativeAnimation = require("@coorpacademy/react-native-animation");
|
|
11
|
+
|
|
12
|
+
var _index = _interopRequireDefault(require("../../atom/loader/index.native"));
|
|
13
|
+
|
|
14
|
+
var _index2 = _interopRequireDefault(require("./player/index.native"));
|
|
11
15
|
|
|
12
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
17
|
|
|
@@ -20,28 +24,33 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
20
24
|
flex: 1,
|
|
21
25
|
alignItems: 'center',
|
|
22
26
|
justifyContent: 'center'
|
|
27
|
+
},
|
|
28
|
+
player: {
|
|
29
|
+
position: 'absolute',
|
|
30
|
+
top: 0,
|
|
31
|
+
left: 0,
|
|
32
|
+
right: 0,
|
|
33
|
+
bottom: 0,
|
|
34
|
+
justifyContent: 'center',
|
|
35
|
+
alignItems: 'center',
|
|
36
|
+
flex: 1
|
|
37
|
+
},
|
|
38
|
+
loaderContainer: {
|
|
39
|
+
position: 'absolute',
|
|
40
|
+
top: 0,
|
|
41
|
+
left: 0,
|
|
42
|
+
right: 0,
|
|
43
|
+
bottom: 0,
|
|
44
|
+
justifyContent: 'center',
|
|
45
|
+
alignItems: 'center'
|
|
23
46
|
}
|
|
24
47
|
});
|
|
25
48
|
|
|
26
|
-
const Switch = ({
|
|
27
|
-
viewName,
|
|
28
|
-
slides
|
|
29
|
-
}) => {
|
|
30
|
-
switch (viewName) {
|
|
31
|
-
case 'slides':
|
|
32
|
-
return /*#__PURE__*/_react.default.createElement(_player.default, slides);
|
|
33
|
-
|
|
34
|
-
case 'loader':
|
|
35
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "@todo loader");
|
|
36
|
-
|
|
37
|
-
default:
|
|
38
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, `unknown viewName: "${viewName}"`);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
|
|
42
49
|
const AppReview = props => {
|
|
43
50
|
const {
|
|
44
|
-
navigateBack
|
|
51
|
+
navigateBack,
|
|
52
|
+
viewName,
|
|
53
|
+
slides
|
|
45
54
|
} = props;
|
|
46
55
|
(0, _react.useEffect)(() => {
|
|
47
56
|
const backAction = () => {
|
|
@@ -56,9 +65,30 @@ const AppReview = props => {
|
|
|
56
65
|
|
|
57
66
|
return () => backHandler.remove();
|
|
58
67
|
}, [navigateBack]);
|
|
68
|
+
const fadePlayerIn = (0, _reactNativeAnimation.useAnimateProp)({
|
|
69
|
+
property: 'opacity',
|
|
70
|
+
fromValue: 0,
|
|
71
|
+
toValue: 1,
|
|
72
|
+
duration: 1300
|
|
73
|
+
});
|
|
74
|
+
const isLoading = viewName === 'loader';
|
|
75
|
+
(0, _reactNativeAnimation.useAnimationWaiter)(isLoading, fadePlayerIn);
|
|
59
76
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
60
77
|
style: styles.rootView
|
|
61
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
78
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
79
|
+
style: [styles.player, fadePlayerIn.animatedStyle]
|
|
80
|
+
}, slides ? /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
81
|
+
congrats: slides.congrats,
|
|
82
|
+
header: slides.header,
|
|
83
|
+
stack: slides.stack,
|
|
84
|
+
quitPopin: slides.quitPopin,
|
|
85
|
+
backgroundImage: slides.backgroundImage
|
|
86
|
+
}) : null), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
87
|
+
style: styles.loaderContainer,
|
|
88
|
+
pointerEvents: "none"
|
|
89
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
90
|
+
readyToHide: !isLoading
|
|
91
|
+
})));
|
|
62
92
|
};
|
|
63
93
|
|
|
64
94
|
var _default = AppReview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["styles","StyleSheet","create","rootView","flex","alignItems","justifyContent","
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["styles","StyleSheet","create","rootView","flex","alignItems","justifyContent","player","position","top","left","right","bottom","loaderContainer","AppReview","props","navigateBack","viewName","slides","useEffect","backAction","backHandler","BackHandler","addEventListener","remove","fadePlayerIn","useAnimateProp","property","fromValue","toValue","duration","isLoading","useAnimationWaiter","animatedStyle","congrats","header","stack","quitPopin","backgroundImage"],"sources":["../../../src/template/app-review/index.native.tsx"],"sourcesContent":["import React, {useEffect} from 'react';\nimport {StyleSheet, View, BackHandler, Animated} from 'react-native';\nimport {useAnimateProp, useAnimationWaiter} from '@coorpacademy/react-native-animation';\nimport Loader from '../../atom/loader/index.native';\nimport {AppReviewProps} from './prop-types';\nimport Player from './player/index.native';\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n },\n player: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1\n },\n loaderContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\nconst AppReview = (props: AppReviewProps) => {\n const {navigateBack, viewName, slides} = props;\n\n useEffect(() => {\n const backAction = () => {\n if (navigateBack) {\n navigateBack();\n return true;\n }\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n const fadePlayerIn = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n duration: 1300\n });\n\n const isLoading = viewName === 'loader';\n useAnimationWaiter(isLoading, fadePlayerIn);\n\n return (\n <View style={styles.rootView}>\n <Animated.View style={[styles.player, fadePlayerIn.animatedStyle]}>\n {slides ? (\n <Player\n congrats={slides.congrats}\n header={slides.header}\n stack={slides.stack}\n quitPopin={slides.quitPopin}\n backgroundImage={slides.backgroundImage}\n />\n ) : null}\n </Animated.View>\n\n <View style={styles.loaderContainer} pointerEvents=\"none\">\n <Loader readyToHide={!isLoading} />\n </View>\n </View>\n );\n};\n\nexport default AppReview;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;AAEA,MAAMA,MAAM,GAAGC,uBAAA,CAAWC,MAAX,CAAkB;EAC/BC,QAAQ,EAAE;IACRC,IAAI,EAAE,CADE;IAERC,UAAU,EAAE,QAFJ;IAGRC,cAAc,EAAE;EAHR,CADqB;EAM/BC,MAAM,EAAE;IACNC,QAAQ,EAAE,UADJ;IAENC,GAAG,EAAE,CAFC;IAGNC,IAAI,EAAE,CAHA;IAINC,KAAK,EAAE,CAJD;IAKNC,MAAM,EAAE,CALF;IAMNN,cAAc,EAAE,QANV;IAOND,UAAU,EAAE,QAPN;IAQND,IAAI,EAAE;EARA,CANuB;EAgB/BS,eAAe,EAAE;IACfL,QAAQ,EAAE,UADK;IAEfC,GAAG,EAAE,CAFU;IAGfC,IAAI,EAAE,CAHS;IAIfC,KAAK,EAAE,CAJQ;IAKfC,MAAM,EAAE,CALO;IAMfN,cAAc,EAAE,QAND;IAOfD,UAAU,EAAE;EAPG;AAhBc,CAAlB,CAAf;;AA2BA,MAAMS,SAAS,GAAIC,KAAD,IAA2B;EAC3C,MAAM;IAACC,YAAD;IAAeC,QAAf;IAAyBC;EAAzB,IAAmCH,KAAzC;EAEA,IAAAI,gBAAA,EAAU,MAAM;IACd,MAAMC,UAAU,GAAG,MAAM;MACvB,IAAIJ,YAAJ,EAAkB;QAChBA,YAAY;QACZ,OAAO,IAAP;MACD;IACF,CALD,CADc,CAQd;;;IACA,MAAMK,WAAW,GAAGC,wBAAA,CAAYC,gBAAZ,CAA6B,mBAA7B,EAAkDH,UAAlD,CAApB;;IAEA,OAAO,MAAMC,WAAW,CAACG,MAAZ,EAAb;EACD,CAZD,EAYG,CAACR,YAAD,CAZH;EAcA,MAAMS,YAAY,GAAG,IAAAC,oCAAA,EAAe;IAClCC,QAAQ,EAAE,SADwB;IAElCC,SAAS,EAAE,CAFuB;IAGlCC,OAAO,EAAE,CAHyB;IAIlCC,QAAQ,EAAE;EAJwB,CAAf,CAArB;EAOA,MAAMC,SAAS,GAAGd,QAAQ,KAAK,QAA/B;EACA,IAAAe,wCAAA,EAAmBD,SAAnB,EAA8BN,YAA9B;EAEA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEzB,MAAM,CAACG;EAApB,gBACE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACH,MAAM,CAACO,MAAR,EAAgBkB,YAAY,CAACQ,aAA7B;EAAtB,GACGf,MAAM,gBACL,6BAAC,eAAD;IACE,QAAQ,EAAEA,MAAM,CAACgB,QADnB;IAEE,MAAM,EAAEhB,MAAM,CAACiB,MAFjB;IAGE,KAAK,EAAEjB,MAAM,CAACkB,KAHhB;IAIE,SAAS,EAAElB,MAAM,CAACmB,SAJpB;IAKE,eAAe,EAAEnB,MAAM,CAACoB;EAL1B,EADK,GAQH,IATN,CADF,eAaE,6BAAC,iBAAD;IAAM,KAAK,EAAEtC,MAAM,CAACa,eAApB;IAAqC,aAAa,EAAC;EAAnD,gBACE,6BAAC,cAAD;IAAQ,WAAW,EAAE,CAACkB;EAAtB,EADF,CAbF,CADF;AAmBD,CA9CD;;eAgDejB,S"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/app-review/skills/index.native.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/app-review/skills/index.native.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAmC/C,QAAA,MAAM,YAAY,UAAW,iBAAiB,uBAmD7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -3,13 +3,17 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
5
|
|
|
6
|
+
var _reactNativeAnimation = require("@coorpacademy/react-native-animation");
|
|
7
|
+
|
|
6
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
7
9
|
|
|
8
10
|
var _reactNative = require("react-native");
|
|
9
11
|
|
|
10
|
-
var _index = _interopRequireDefault(require("../../../
|
|
12
|
+
var _index = _interopRequireDefault(require("../../../atom/loader/index.native"));
|
|
13
|
+
|
|
14
|
+
var _index2 = _interopRequireDefault(require("../../../organism/review-no-skills/index.native"));
|
|
11
15
|
|
|
12
|
-
var
|
|
16
|
+
var _index3 = _interopRequireDefault(require("../../../organism/review-skills/index.native"));
|
|
13
17
|
|
|
14
18
|
var _templateContext = require("../template-context");
|
|
15
19
|
|
|
@@ -26,6 +30,15 @@ const createStyleSheet = theme => _reactNative.StyleSheet.create({
|
|
|
26
30
|
width: '100%',
|
|
27
31
|
backgroundColor: theme.colors.white
|
|
28
32
|
},
|
|
33
|
+
loaderContainer: {
|
|
34
|
+
position: 'absolute',
|
|
35
|
+
top: 0,
|
|
36
|
+
left: 0,
|
|
37
|
+
right: 0,
|
|
38
|
+
bottom: 0,
|
|
39
|
+
justifyContent: 'center',
|
|
40
|
+
alignItems: 'center'
|
|
41
|
+
},
|
|
29
42
|
title: {
|
|
30
43
|
fontSize: theme.fontSize.xlarge,
|
|
31
44
|
fontWeight: theme.fontWeight.bold,
|
|
@@ -41,7 +54,6 @@ const ReviewSkills = props => {
|
|
|
41
54
|
'aria-label': ariaLabel,
|
|
42
55
|
title,
|
|
43
56
|
isLoading,
|
|
44
|
-
isLoadingAriaLabel,
|
|
45
57
|
listSkills,
|
|
46
58
|
titleNoSkills,
|
|
47
59
|
textNoSkills,
|
|
@@ -57,6 +69,12 @@ const ReviewSkills = props => {
|
|
|
57
69
|
|
|
58
70
|
setStylesheet(_stylesheet);
|
|
59
71
|
}, [theme]);
|
|
72
|
+
const fadeResultsIn = (0, _reactNativeAnimation.useAnimateProp)({
|
|
73
|
+
property: 'opacity',
|
|
74
|
+
fromValue: 0,
|
|
75
|
+
toValue: 1
|
|
76
|
+
});
|
|
77
|
+
(0, _reactNativeAnimation.useAnimationWaiter)(isLoading, fadeResultsIn);
|
|
60
78
|
|
|
61
79
|
if (!styleSheet) {
|
|
62
80
|
return null;
|
|
@@ -67,14 +85,19 @@ const ReviewSkills = props => {
|
|
|
67
85
|
accessibilityLabel: ariaLabel
|
|
68
86
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
69
87
|
style: styleSheet.title
|
|
70
|
-
}, title),
|
|
71
|
-
|
|
72
|
-
},
|
|
88
|
+
}, title), /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
89
|
+
style: fadeResultsIn.animatedStyle
|
|
90
|
+
}, !listSkills || listSkills.length === 0 ? /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
73
91
|
titleNoSkills: titleNoSkills,
|
|
74
92
|
textNoSkills: textNoSkills,
|
|
75
93
|
iconSkillAriaLabel: iconSkillAriaLabel
|
|
76
|
-
}) : /*#__PURE__*/_react.default.createElement(
|
|
94
|
+
}) : /*#__PURE__*/_react.default.createElement(_index3.default, {
|
|
77
95
|
listSkills: listSkills
|
|
96
|
+
})), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
97
|
+
style: styleSheet.loaderContainer,
|
|
98
|
+
pointerEvents: "none"
|
|
99
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
100
|
+
readyToHide: !isLoading
|
|
78
101
|
})));
|
|
79
102
|
};
|
|
80
103
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["createStyleSheet","theme","StyleSheet","create","container","flex","padding","width","backgroundColor","colors","white","title","fontSize","xlarge","fontWeight","bold","lineHeight","color","text","primary","marginBottom","spacing","base","marginTop","small","ReviewSkills","props","ariaLabel","isLoading","
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["createStyleSheet","theme","StyleSheet","create","container","flex","padding","width","backgroundColor","colors","white","loaderContainer","position","top","left","right","bottom","justifyContent","alignItems","title","fontSize","xlarge","fontWeight","bold","lineHeight","color","text","primary","marginBottom","spacing","base","marginTop","small","ReviewSkills","props","ariaLabel","isLoading","listSkills","titleNoSkills","textNoSkills","iconSkillAriaLabel","templateContext","useTemplateContext","styleSheet","setStylesheet","useState","useEffect","_stylesheet","fadeResultsIn","useAnimateProp","property","fromValue","toValue","useAnimationWaiter","animatedStyle","length"],"sources":["../../../../src/template/app-review/skills/index.native.tsx"],"sourcesContent":["import {useAnimateProp, useAnimationWaiter} from '@coorpacademy/react-native-animation';\nimport React, {useState, useEffect} from 'react';\nimport {Text, View, StyleSheet, ViewStyle, TextStyle, Animated} from 'react-native';\nimport Loader from '../../../atom/loader/index.native';\nimport ReviewNoSkills from '../../../organism/review-no-skills/index.native';\nimport ReviewListSkills from '../../../organism/review-skills/index.native';\nimport {Theme} from '../../../variables/theme.native';\nimport {useTemplateContext} from '../template-context';\nimport {ReviewSkillsProps} from './prop-types';\n\ntype StyleSheetType = {\n container: ViewStyle;\n loaderContainer: ViewStyle;\n title: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n width: '100%',\n backgroundColor: theme.colors.white\n },\n loaderContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n justifyContent: 'center',\n alignItems: 'center'\n },\n title: {\n fontSize: theme.fontSize.xlarge,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 28,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.base,\n marginTop: theme.spacing.small\n }\n });\n\nconst ReviewSkills = (props: ReviewSkillsProps) => {\n const {\n 'aria-label': ariaLabel,\n title,\n isLoading,\n listSkills,\n titleNoSkills,\n textNoSkills,\n iconSkillAriaLabel\n } = props;\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const fadeResultsIn = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1\n });\n\n useAnimationWaiter(isLoading, fadeResultsIn);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.container} accessibilityLabel={ariaLabel}>\n <Text style={styleSheet.title}>{title}</Text>\n\n <Animated.View style={fadeResultsIn.animatedStyle}>\n {!listSkills || listSkills.length === 0 ? (\n <ReviewNoSkills\n titleNoSkills={titleNoSkills}\n textNoSkills={textNoSkills}\n iconSkillAriaLabel={iconSkillAriaLabel}\n />\n ) : (\n <ReviewListSkills listSkills={listSkills} />\n )}\n </Animated.View>\n <View style={styleSheet.loaderContainer} pointerEvents=\"none\">\n <Loader readyToHide={!isLoading} />\n </View>\n </View>\n );\n};\n\nexport default ReviewSkills;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;AASA,MAAMA,gBAAgB,GAAIC,KAAD,IACvBC,uBAAA,CAAWC,MAAX,CAAkB;EAChBC,SAAS,EAAE;IACTC,IAAI,EAAE,CADG;IAETC,OAAO,EAAE,EAFA;IAGTC,KAAK,EAAE,MAHE;IAITC,eAAe,EAAEP,KAAK,CAACQ,MAAN,CAAaC;EAJrB,CADK;EAOhBC,eAAe,EAAE;IACfC,QAAQ,EAAE,UADK;IAEfC,GAAG,EAAE,CAFU;IAGfC,IAAI,EAAE,CAHS;IAIfC,KAAK,EAAE,CAJQ;IAKfC,MAAM,EAAE,CALO;IAMfC,cAAc,EAAE,QAND;IAOfC,UAAU,EAAE;EAPG,CAPD;EAgBhBC,KAAK,EAAE;IACLC,QAAQ,EAAEnB,KAAK,CAACmB,QAAN,CAAeC,MADpB;IAELC,UAAU,EAAErB,KAAK,CAACqB,UAAN,CAAiBC,IAFxB;IAGLC,UAAU,EAAE,EAHP;IAILC,KAAK,EAAExB,KAAK,CAACQ,MAAN,CAAaiB,IAAb,CAAkBC,OAJpB;IAKLC,YAAY,EAAE3B,KAAK,CAAC4B,OAAN,CAAcC,IALvB;IAMLC,SAAS,EAAE9B,KAAK,CAAC4B,OAAN,CAAcG;EANpB;AAhBS,CAAlB,CADF;;AA2BA,MAAMC,YAAY,GAAIC,KAAD,IAA8B;EACjD,MAAM;IACJ,cAAcC,SADV;IAEJhB,KAFI;IAGJiB,SAHI;IAIJC,UAJI;IAKJC,aALI;IAMJC,YANI;IAOJC;EAPI,IAQFN,KARJ;EASA,MAAMO,eAAe,GAAG,IAAAC,mCAAA,GAAxB;EACA,MAAM,CAACC,UAAD,EAAaC,aAAb,IAA8B,IAAAC,eAAA,EAAgC,IAAhC,CAApC;EACA,MAAM;IAAC5C;EAAD,IAAUwC,eAAhB;EAEA,IAAAK,gBAAA,EAAU,MAAM;IACd,MAAMC,WAAW,GAAG/C,gBAAgB,CAACC,KAAD,CAApC;;IACA2C,aAAa,CAACG,WAAD,CAAb;EACD,CAHD,EAGG,CAAC9C,KAAD,CAHH;EAKA,MAAM+C,aAAa,GAAG,IAAAC,oCAAA,EAAe;IACnCC,QAAQ,EAAE,SADyB;IAEnCC,SAAS,EAAE,CAFwB;IAGnCC,OAAO,EAAE;EAH0B,CAAf,CAAtB;EAMA,IAAAC,wCAAA,EAAmBjB,SAAnB,EAA8BY,aAA9B;;EAEA,IAAI,CAACL,UAAL,EAAiB;IACf,OAAO,IAAP;EACD;;EAED,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEA,UAAU,CAACvC,SAAxB;IAAmC,kBAAkB,EAAE+B;EAAvD,gBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEQ,UAAU,CAACxB;EAAxB,GAAgCA,KAAhC,CADF,eAGE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE6B,aAAa,CAACM;EAApC,GACG,CAACjB,UAAD,IAAeA,UAAU,CAACkB,MAAX,KAAsB,CAArC,gBACC,6BAAC,eAAD;IACE,aAAa,EAAEjB,aADjB;IAEE,YAAY,EAAEC,YAFhB;IAGE,kBAAkB,EAAEC;EAHtB,EADD,gBAOC,6BAAC,eAAD;IAAkB,UAAU,EAAEH;EAA9B,EARJ,CAHF,eAcE,6BAAC,iBAAD;IAAM,KAAK,EAAEM,UAAU,CAAChC,eAAxB;IAAyC,aAAa,EAAC;EAAvD,gBACE,6BAAC,cAAD;IAAQ,WAAW,EAAE,CAACyB;EAAtB,EADF,CAdF,CADF;AAoBD,CAnDD;;eAqDeH,Y"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ignore_dirs":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "11.9.
|
|
3
|
+
"version": "11.9.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
],
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@coorpacademy/nova-icons": "4.1.2",
|
|
60
|
-
"@coorpacademy/react-native-animation": "1.0.
|
|
60
|
+
"@coorpacademy/react-native-animation": "1.0.3",
|
|
61
61
|
"@jwplayer/jwplayer-react": "^1.1.0",
|
|
62
62
|
"@types/react": "^17.0.50",
|
|
63
63
|
"@types/react-dom": "^17.0.17",
|
|
@@ -160,5 +160,5 @@
|
|
|
160
160
|
"last 2 versions",
|
|
161
161
|
"IE 11"
|
|
162
162
|
],
|
|
163
|
-
"gitHead": "
|
|
163
|
+
"gitHead": "c5c10199e07c0b1b3819b5e7cea9378c0fa9919d"
|
|
164
164
|
}
|