@coorpacademy/components 11.12.1-alpha.2 → 11.12.2
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/molecule/card/favorite.d.ts +14 -9
- package/es/molecule/card/favorite.d.ts.map +1 -1
- package/es/molecule/card/favorite.js +51 -65
- package/es/molecule/card/favorite.js.map +1 -1
- package/es/molecule/review-correction-popin/index.native.d.ts.map +1 -1
- package/es/molecule/review-correction-popin/index.native.js +10 -1
- package/es/molecule/review-correction-popin/index.native.js.map +1 -1
- package/es/organism/review-skills/index.native.js +1 -1
- package/es/organism/review-skills/index.native.js.map +1 -1
- package/es/organism/review-slide/index.native.d.ts.map +1 -1
- package/es/organism/review-slide/index.native.js +3 -3
- package/es/organism/review-slide/index.native.js.map +1 -1
- package/lib/molecule/card/favorite.d.ts +14 -9
- package/lib/molecule/card/favorite.d.ts.map +1 -1
- package/lib/molecule/card/favorite.js +55 -65
- package/lib/molecule/card/favorite.js.map +1 -1
- package/lib/molecule/review-correction-popin/index.native.d.ts.map +1 -1
- package/lib/molecule/review-correction-popin/index.native.js +10 -1
- package/lib/molecule/review-correction-popin/index.native.js.map +1 -1
- package/lib/organism/review-skills/index.native.js +1 -1
- package/lib/organism/review-skills/index.native.js.map +1 -1
- package/lib/organism/review-slide/index.native.d.ts.map +1 -1
- package/lib/organism/review-slide/index.native.js +3 -3
- package/lib/organism/review-slide/index.native.js.map +1 -1
- package/locales/bs/global.json +4 -1
- package/locales/cs/global.json +4 -1
- package/locales/de/global.json +4 -1
- package/locales/es/global.json +4 -1
- package/locales/et/global.json +4 -1
- package/locales/fr/global.json +4 -1
- package/locales/hr/global.json +4 -1
- package/locales/hu/global.json +4 -1
- package/locales/hy/global.json +4 -1
- package/locales/it/global.json +4 -1
- package/locales/ja/global.json +4 -1
- package/locales/ko/global.json +4 -1
- package/locales/nl/global.json +4 -1
- package/locales/pl/global.json +4 -1
- package/locales/pt/global.json +4 -1
- package/locales/ro/global.json +4 -1
- package/locales/ru/global.json +4 -1
- package/locales/sk/global.json +4 -1
- package/locales/th/global.json +4 -1
- package/locales/tl/global.json +4 -1
- package/locales/tr/global.json +4 -1
- package/locales/uk/global.json +4 -1
- package/locales/vi/global.json +4 -1
- package/locales/zh/global.json +4 -1
- package/locales/zh_TW/global.json +4 -1
- package/package.json +2 -2
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
export default Favorite;
|
|
2
|
-
declare
|
|
3
|
-
|
|
2
|
+
declare function Favorite({ favorite, addFavoriteToolTip, removeFavoriteToolTip, className, "aria-label": ariaLabel, onFavoriteClick, disabled }: {
|
|
3
|
+
favorite: any;
|
|
4
|
+
addFavoriteToolTip: any;
|
|
5
|
+
removeFavoriteToolTip: any;
|
|
6
|
+
className: any;
|
|
7
|
+
"aria-label"?: {} | undefined;
|
|
8
|
+
onFavoriteClick?: import("lodash/fp").LodashNoop | undefined;
|
|
9
|
+
disabled: any;
|
|
10
|
+
}, legacyContext: any): JSX.Element;
|
|
11
|
+
declare namespace Favorite {
|
|
12
|
+
const propTypes: {
|
|
4
13
|
className: PropTypes.Requireable<string>;
|
|
5
14
|
favorite: PropTypes.Requireable<boolean>;
|
|
6
15
|
disabled: PropTypes.Requireable<boolean>;
|
|
@@ -13,8 +22,8 @@ declare class Favorite extends React.Component<any, any, any> {
|
|
|
13
22
|
removeFromFavorite: PropTypes.Requireable<string>;
|
|
14
23
|
}>>;
|
|
15
24
|
};
|
|
16
|
-
|
|
17
|
-
skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
25
|
+
namespace contextTypes {
|
|
26
|
+
const skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
18
27
|
common: PropTypes.Requireable<{
|
|
19
28
|
[x: string]: any;
|
|
20
29
|
}>;
|
|
@@ -35,11 +44,7 @@ declare class Favorite extends React.Component<any, any, any> {
|
|
|
35
44
|
[x: string]: any;
|
|
36
45
|
}>;
|
|
37
46
|
}>>;
|
|
38
|
-
}
|
|
39
|
-
constructor(props: any, context: any);
|
|
40
|
-
handleFavoviteClick(e: any): void;
|
|
41
|
-
render(): JSX.Element;
|
|
47
|
+
}
|
|
42
48
|
}
|
|
43
|
-
import React from "react";
|
|
44
49
|
import PropTypes from "prop-types";
|
|
45
50
|
//# sourceMappingURL=favorite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"favorite.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/favorite.js"],"names":[],"mappings":";AAWA
|
|
1
|
+
{"version":3,"file":"favorite.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/favorite.js"],"names":[],"mappings":";AAWA;;;;;;;;oCAoEC"}
|
|
@@ -1,84 +1,67 @@
|
|
|
1
1
|
import _noop from "lodash/fp/noop";
|
|
2
2
|
import _isEmpty from "lodash/fp/isEmpty";
|
|
3
3
|
import _get from "lodash/fp/get";
|
|
4
|
-
import React from 'react';
|
|
4
|
+
import React, { useCallback, useMemo } from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import classnames from 'classnames';
|
|
7
7
|
import { NovaCompositionNavigationMore as MoreIcon, NovaCompositionCoorpacademyCheck as CheckIcon } from '@coorpacademy/nova-icons';
|
|
8
|
-
import Provider from '../../atom/provider';
|
|
8
|
+
import Provider, { GetSkinFromContext } from '../../atom/provider';
|
|
9
9
|
import style from './favorite.css';
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
11
|
+
const Favorite = ({
|
|
12
|
+
favorite,
|
|
13
|
+
addFavoriteToolTip,
|
|
14
|
+
removeFavoriteToolTip,
|
|
15
|
+
className,
|
|
16
|
+
'aria-label': ariaLabel = {},
|
|
17
|
+
onFavoriteClick = _noop,
|
|
18
|
+
disabled
|
|
19
|
+
}, legacyContext) => {
|
|
20
|
+
const skin = GetSkinFromContext(legacyContext);
|
|
21
|
+
const handleFavoriteClick = useCallback(e => {
|
|
22
22
|
e.stopPropagation();
|
|
23
23
|
e.preventDefault();
|
|
24
24
|
if (!disabled) onFavoriteClick(e);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
render() {
|
|
28
|
-
const {
|
|
29
|
-
skin
|
|
30
|
-
} = this.context;
|
|
31
|
-
const {
|
|
32
|
-
favorite,
|
|
33
|
-
addFavoriteToolTip,
|
|
34
|
-
removeFavoriteToolTip,
|
|
35
|
-
className,
|
|
36
|
-
'aria-label': ariaLabel = {}
|
|
37
|
-
} = this.props;
|
|
38
|
-
|
|
39
|
-
const primaryColor = _get('common.primary', skin);
|
|
25
|
+
}, [disabled, onFavoriteClick]);
|
|
40
26
|
|
|
41
|
-
|
|
27
|
+
const primaryColor = _get('common.primary', skin);
|
|
42
28
|
|
|
43
|
-
|
|
29
|
+
const darkColor = _get('common.dark', skin);
|
|
44
30
|
|
|
45
|
-
|
|
46
|
-
className: style.showToolTip
|
|
47
|
-
}, /*#__PURE__*/React.createElement("span", null, favorite ? removeFavoriteToolTip : addFavoriteToolTip)) : null;
|
|
48
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
49
|
-
className: style.blocFavorite
|
|
50
|
-
}, toolTipView, /*#__PURE__*/React.createElement("div", {
|
|
51
|
-
"data-name": "favorite",
|
|
52
|
-
"aria-label": ariaLabel.favorite,
|
|
53
|
-
className: classnames(style.favorite, className, favorite && style.selected),
|
|
54
|
-
onClick: this.handleFavoviteClick,
|
|
55
|
-
style: {
|
|
56
|
-
color: primaryColor
|
|
57
|
-
}
|
|
58
|
-
}, favorite ? /*#__PURE__*/React.createElement(CheckIcon, {
|
|
59
|
-
className: style.checkIcon,
|
|
60
|
-
style: {
|
|
61
|
-
color: brandColor
|
|
62
|
-
},
|
|
63
|
-
width: 13,
|
|
64
|
-
height: 13,
|
|
65
|
-
"aria-label": ariaLabel.removeFromFavorite
|
|
66
|
-
}) : /*#__PURE__*/React.createElement(MoreIcon, {
|
|
67
|
-
className: style.moreIcon,
|
|
68
|
-
style: {
|
|
69
|
-
color: darkColor
|
|
70
|
-
},
|
|
71
|
-
width: 13,
|
|
72
|
-
height: 13,
|
|
73
|
-
"aria-label": ariaLabel.addToFavorite
|
|
74
|
-
})));
|
|
75
|
-
}
|
|
31
|
+
const brandColor = _get('common.brand', skin);
|
|
76
32
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
33
|
+
const toolTipView = useMemo(() => !_isEmpty(removeFavoriteToolTip) && !_isEmpty(addFavoriteToolTip) ? /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
className: style.showToolTip
|
|
35
|
+
}, /*#__PURE__*/React.createElement("span", null, favorite ? removeFavoriteToolTip : addFavoriteToolTip)) : null, [addFavoriteToolTip, favorite, removeFavoriteToolTip]);
|
|
36
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
37
|
+
className: style.blocFavorite
|
|
38
|
+
}, toolTipView, /*#__PURE__*/React.createElement("div", {
|
|
39
|
+
"data-name": "favorite",
|
|
40
|
+
"aria-label": ariaLabel.favorite,
|
|
41
|
+
className: classnames(style.favorite, className, favorite && style.selected),
|
|
42
|
+
onClick: handleFavoriteClick,
|
|
43
|
+
style: {
|
|
44
|
+
color: primaryColor
|
|
45
|
+
}
|
|
46
|
+
}, favorite ? /*#__PURE__*/React.createElement(CheckIcon, {
|
|
47
|
+
className: style.checkIcon,
|
|
48
|
+
style: {
|
|
49
|
+
color: brandColor
|
|
50
|
+
},
|
|
51
|
+
width: 13,
|
|
52
|
+
height: 13,
|
|
53
|
+
"aria-label": ariaLabel.removeFromFavorite
|
|
54
|
+
}) : /*#__PURE__*/React.createElement(MoreIcon, {
|
|
55
|
+
className: style.moreIcon,
|
|
56
|
+
style: {
|
|
57
|
+
color: darkColor
|
|
58
|
+
},
|
|
59
|
+
width: 13,
|
|
60
|
+
height: 13,
|
|
61
|
+
"aria-label": ariaLabel.addToFavorite
|
|
62
|
+
})));
|
|
81
63
|
};
|
|
64
|
+
|
|
82
65
|
Favorite.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
83
66
|
className: PropTypes.string,
|
|
84
67
|
favorite: PropTypes.bool,
|
|
@@ -92,5 +75,8 @@ Favorite.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
92
75
|
removeFromFavorite: PropTypes.string
|
|
93
76
|
})
|
|
94
77
|
} : {};
|
|
78
|
+
Favorite.contextTypes = {
|
|
79
|
+
skin: Provider.childContextTypes.skin
|
|
80
|
+
};
|
|
95
81
|
export default Favorite;
|
|
96
82
|
//# sourceMappingURL=favorite.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"favorite.js","names":["React","PropTypes","classnames","NovaCompositionNavigationMore","MoreIcon","NovaCompositionCoorpacademyCheck","CheckIcon","Provider","
|
|
1
|
+
{"version":3,"file":"favorite.js","names":["React","useCallback","useMemo","PropTypes","classnames","NovaCompositionNavigationMore","MoreIcon","NovaCompositionCoorpacademyCheck","CheckIcon","Provider","GetSkinFromContext","style","Favorite","favorite","addFavoriteToolTip","removeFavoriteToolTip","className","ariaLabel","onFavoriteClick","disabled","legacyContext","skin","handleFavoriteClick","e","stopPropagation","preventDefault","primaryColor","darkColor","brandColor","toolTipView","showToolTip","blocFavorite","selected","color","checkIcon","removeFromFavorite","moreIcon","addToFavorite","propTypes","string","bool","func","shape","contextTypes","childContextTypes"],"sources":["../../../src/molecule/card/favorite.js"],"sourcesContent":["import React, {useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport style from './favorite.css';\n\nconst Favorite = (\n {\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n className,\n 'aria-label': ariaLabel = {},\n onFavoriteClick = noop,\n disabled\n },\n legacyContext\n) => {\n const skin = GetSkinFromContext(legacyContext);\n const handleFavoriteClick = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n if (!disabled) onFavoriteClick(e);\n },\n [disabled, onFavoriteClick]\n );\n\n const primaryColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const brandColor = get('common.brand', skin);\n\n const toolTipView = useMemo(\n () =>\n !isEmpty(removeFavoriteToolTip) && !isEmpty(addFavoriteToolTip) ? (\n <div className={style.showToolTip}>\n <span>{favorite ? removeFavoriteToolTip : addFavoriteToolTip}</span>\n </div>\n ) : null,\n [addFavoriteToolTip, favorite, removeFavoriteToolTip]\n );\n\n return (\n <div className={style.blocFavorite}>\n {toolTipView}\n <div\n data-name=\"favorite\"\n aria-label={ariaLabel.favorite}\n className={classnames(style.favorite, className, favorite && style.selected)}\n onClick={handleFavoriteClick}\n style={{\n color: primaryColor\n }}\n >\n {favorite ? (\n <CheckIcon\n className={style.checkIcon}\n style={{color: brandColor}}\n width={13}\n height={13}\n aria-label={ariaLabel.removeFromFavorite}\n />\n ) : (\n <MoreIcon\n className={style.moreIcon}\n style={{color: darkColor}}\n width={13}\n height={13}\n aria-label={ariaLabel.addToFavorite}\n />\n )}\n </div>\n </div>\n );\n};\n\nFavorite.propTypes = {\n className: PropTypes.string,\n favorite: PropTypes.bool,\n disabled: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onFavoriteClick: PropTypes.func,\n 'aria-label': PropTypes.shape({\n favorite: PropTypes.string,\n addToFavorite: PropTypes.string,\n removeFromFavorite: PropTypes.string\n })\n};\n\nFavorite.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default Favorite;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/review-correction-popin/index.native.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAgC,0BAA0B,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/review-correction-popin/index.native.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAgC,0BAA0B,EAAC,MAAM,cAAc,CAAC;AAmQvF,QAAA,MAAM,qBAAqB,kDAMxB,0BAA0B,uBAiD5B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -135,6 +135,7 @@ const createStyleSheet = (theme, type) => StyleSheet.create({
|
|
|
135
135
|
shadowRadius: 8
|
|
136
136
|
},
|
|
137
137
|
buttonTooltip: {
|
|
138
|
+
zIndex: 20,
|
|
138
139
|
flexDirection: 'column',
|
|
139
140
|
justifyContent: 'center',
|
|
140
141
|
backgroundColor: theme.colors.white,
|
|
@@ -144,7 +145,14 @@ const createStyleSheet = (theme, type) => StyleSheet.create({
|
|
|
144
145
|
position: 'absolute',
|
|
145
146
|
bottom: 4,
|
|
146
147
|
right: -15,
|
|
147
|
-
|
|
148
|
+
shadowColor: theme.colors.black,
|
|
149
|
+
shadowOpacity: 0.3,
|
|
150
|
+
shadowOffset: {
|
|
151
|
+
width: 0,
|
|
152
|
+
height: 0
|
|
153
|
+
},
|
|
154
|
+
shadowRadius: 8,
|
|
155
|
+
elevation: 6
|
|
148
156
|
},
|
|
149
157
|
htmlTooltipText: {
|
|
150
158
|
color: theme.colors.text.primary,
|
|
@@ -154,6 +162,7 @@ const createStyleSheet = (theme, type) => StyleSheet.create({
|
|
|
154
162
|
textAlign: 'center'
|
|
155
163
|
},
|
|
156
164
|
triangleTooltip: {
|
|
165
|
+
zIndex: 31,
|
|
157
166
|
width: 0,
|
|
158
167
|
height: 0,
|
|
159
168
|
backgroundColor: 'transparent',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useState","Animated","Easing","StyleSheet","View","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","NovaLineLoginKey1","KlfIcon","useAnimateProp","Html","Text","Touchable","useTemplateContext","createStyleSheet","theme","type","create","wrapper","backgroundColor","height","display","justifyContent","popin","padding","spacing","medium","borderRadius","flexDirection","alignItems","colors","negative","positive","shadowColor","shadowOpacity","shadowOffset","width","shadowRadius","elevation","correctionSection","iconCircle","white","opacity","icon","resultLabel","color","fontSize","fontWeight","lineHeight","marginLeft","textTransform","feedbackSection","marginVertical","labelContainer","alignSelf","paddingHorizontal","tiny","paddingVertical","micro","marginBottom","label","extraBold","htmlInfoMessage","button","base","small","buttonText","cta","bold","textAlign","containerButtonKlf","buttonKlf","buttonKlfActive","buttonKlfText","iconKey","marginRight","containerTooltip","zIndex","position","black","buttonTooltip","bottom","right","htmlTooltipText","text","primary","triangleTooltip","borderStyle","borderLeftWidth","borderRightWidth","borderBottomWidth","borderTopWidth","borderLeftColor","borderTopColor","borderRightColor","borderBottomColor","transform","rotate","left","top","KlfButton","klf","styleSheet","displayTooltip","setDisplayTooltip","fadeIn","property","fromValue","toValue","easing","bezier","handlePressKey","start","revert","tooltip","animatedStyle","ICONS","wrong","ReviewCorrectionPopin","information","next","templateContext","setStylesheet","handlePressNext","onClick","Icon","_stylesheet","message"],"sources":["../../../src/molecule/review-correction-popin/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useState} from 'react';\nimport {Animated, Easing, TextStyle, StyleSheet, View, ViewStyle} from 'react-native';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon,\n NovaLineLoginKey1 as KlfIcon\n} from '@coorpacademy/nova-icons';\nimport {useAnimateProp} from '@coorpacademy/react-native-animation';\nimport Html from '../../atom/html/index.native';\nimport {Theme} from '../../variables/theme.native';\nimport Text from '../../atom/text/index.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {ReviewCorrectionPopinKLFProps, ReviewCorrectionPopinProps} from './prop-types';\n\ninterface StyleSheetType {\n wrapper: ViewStyle;\n popin: ViewStyle;\n correctionSection: ViewStyle;\n iconCircle: ViewStyle;\n icon: ViewStyle;\n resultLabel: TextStyle;\n feedbackSection: ViewStyle;\n labelContainer: ViewStyle;\n label: TextStyle;\n htmlInfoMessage: TextStyle;\n button: ViewStyle;\n buttonText: TextStyle;\n buttonKlf: ViewStyle;\n buttonKlfActive: TextStyle;\n buttonKlfText: TextStyle;\n iconKey: ViewStyle;\n containerTooltip: ViewStyle;\n buttonTooltip: ViewStyle;\n containerButtonKlf: ViewStyle;\n triangleTooltip: ViewStyle;\n htmlTooltipText: TextStyle;\n}\n\nconst createStyleSheet = (theme: Theme, type: string): StyleSheetType =>\n StyleSheet.create({\n wrapper: {\n backgroundColor: '#00000000',\n height: 2000,\n display: 'flex',\n justifyContent: 'flex-end'\n },\n popin: {\n padding: theme.spacing.medium,\n borderRadius: 16,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n backgroundColor: type === 'wrong' ? theme.colors.negative : theme.colors.positive,\n shadowColor: type === 'wrong' ? theme.colors.negative : theme.colors.positive,\n shadowOpacity: 0.5,\n shadowOffset: {width: 0, height: 0},\n shadowRadius: 15,\n elevation: 4\n },\n correctionSection: {\n flexDirection: 'row',\n alignItems: 'center',\n width: '80%'\n },\n iconCircle: {\n width: 60,\n height: 60,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.colors.white,\n opacity: 0.7,\n borderRadius: 50\n },\n icon: {\n height: 30,\n width: 30\n },\n resultLabel: {\n color: theme.colors.white,\n fontSize: 24,\n fontWeight: '600',\n lineHeight: 24,\n marginLeft: 12,\n textTransform: 'uppercase'\n },\n feedbackSection: {\n marginVertical: theme.spacing.medium\n },\n labelContainer: {\n alignSelf: 'flex-start',\n backgroundColor: 'rgba(255, 255, 255, 0.3)',\n borderRadius: 56,\n paddingHorizontal: theme.spacing.tiny,\n paddingVertical: theme.spacing.micro,\n marginBottom: 8\n },\n label: {\n color: theme.colors.white,\n fontSize: 14,\n fontWeight: theme.fontWeight.extraBold,\n lineHeight: 17\n },\n htmlInfoMessage: {\n color: theme.colors.white,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 19\n },\n button: {\n alignSelf: 'stretch',\n backgroundColor: theme.colors.white,\n borderRadius: 7,\n paddingHorizontal: theme.spacing.base,\n paddingVertical: theme.spacing.small\n },\n buttonText: {\n color: theme.colors.cta,\n fontSize: 14,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 20,\n textAlign: 'center'\n },\n containerButtonKlf: {\n width: '100%'\n },\n buttonKlf: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n borderRadius: 7,\n paddingHorizontal: theme.spacing.base,\n paddingVertical: theme.spacing.small,\n marginBottom: theme.spacing.tiny\n },\n buttonKlfActive: {\n backgroundColor:\n 'linear-gradient(0deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), rgba(255, 255, 255, 0.1)'\n },\n buttonKlfText: {\n color: 'white',\n fontSize: 14,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 20,\n textAlign: 'center'\n },\n iconKey: {\n width: 12,\n height: 12,\n marginRight: theme.spacing.tiny\n },\n containerTooltip: {\n zIndex: 30,\n position: 'relative',\n shadowColor: theme.colors.black,\n shadowOpacity: 0.3,\n shadowOffset: {width: 0, height: 0},\n shadowRadius: 8\n },\n buttonTooltip: {\n flexDirection: 'column',\n justifyContent: 'center',\n backgroundColor: theme.colors.white,\n borderRadius: 15,\n padding: theme.spacing.small,\n width: '112%',\n position: 'absolute',\n bottom: 4,\n right: -15,\n zIndex: 20\n },\n htmlTooltipText: {\n color: theme.colors.text.primary,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 22,\n textAlign: 'center'\n },\n triangleTooltip: {\n width: 0,\n height: 0,\n backgroundColor: 'transparent',\n borderStyle: 'solid',\n borderLeftWidth: 13,\n borderRightWidth: 13,\n borderBottomWidth: 13,\n borderTopWidth: 13,\n borderLeftColor: 'transparent',\n borderTopColor: 'transparent',\n borderRightColor: theme.colors.white,\n borderBottomColor: theme.colors.white,\n transform: [{rotate: '45deg'}],\n position: 'absolute',\n left: 110,\n top: -20,\n borderRadius: 4\n }\n });\n\nconst KlfButton = ({\n klf,\n styleSheet\n}: {\n klf: ReviewCorrectionPopinKLFProps;\n styleSheet: StyleSheetType;\n}) => {\n const [displayTooltip, setDisplayTooltip] = useState(false);\n const fadeIn = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n easing: Easing.bezier(0.25, 1, 0.5, 1)\n });\n\n const handlePressKey = useCallback(() => {\n setDisplayTooltip(!displayTooltip);\n !displayTooltip ? fadeIn.start() : fadeIn.revert();\n }, [displayTooltip, fadeIn]);\n\n const {\n buttonKlf,\n buttonKlfActive,\n buttonKlfText,\n containerButtonKlf,\n containerTooltip,\n buttonTooltip,\n htmlTooltipText,\n iconKey,\n triangleTooltip\n } = styleSheet;\n\n const {label, tooltip} = klf;\n\n return (\n <View style={containerButtonKlf}>\n <Animated.View style={[containerTooltip, fadeIn.animatedStyle]}>\n <Touchable\n style={buttonTooltip}\n accessibilityLabel={`aria-label-tooltip`}\n isHighlight\n onPress={handlePressKey}\n testID=\"button-tooltip\"\n >\n <Html style={htmlTooltipText}>{tooltip}</Html>\n </Touchable>\n <View style={triangleTooltip} />\n </Animated.View>\n <Touchable\n style={displayTooltip ? {...buttonKlf, ...buttonKlfActive} : buttonKlf}\n accessibilityLabel={`aria-label-${label}`}\n onPress={handlePressKey}\n testID=\"button-klf\"\n >\n <KlfIcon style={iconKey} color=\"white\" />\n <Text style={buttonKlfText}>{label}</Text>\n </Touchable>\n </View>\n );\n};\n\nconst ICONS = {\n right: RightIcon,\n wrong: WrongIcon\n};\n\nconst ReviewCorrectionPopin = ({\n information,\n klf,\n next,\n type,\n resultLabel\n}: ReviewCorrectionPopinProps) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n const handlePressNext = next.onClick;\n\n const Icon = ICONS[type];\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme, type);\n setStylesheet(_stylesheet);\n }, [theme, type]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.wrapper}>\n <View style={styleSheet.popin}>\n <View style={styleSheet.correctionSection}>\n <View style={styleSheet.iconCircle}>\n <Icon\n style={styleSheet.icon}\n color={type === 'wrong' ? theme.colors.negative : theme.colors.positive}\n />\n </View>\n <Text style={styleSheet.resultLabel}>{resultLabel}</Text>\n </View>\n <View style={styleSheet.feedbackSection} accessibilityLabel=\"answer-information\">\n <View style={styleSheet.labelContainer} needsOffscreenAlphaCompositing>\n <Text accessibilityLabel={information.label} style={styleSheet.label}>\n {information.label}\n </Text>\n </View>\n <Html style={styleSheet.htmlInfoMessage}>{information.message}</Html>\n </View>\n {klf && type === 'wrong' ? <KlfButton styleSheet={styleSheet} klf={klf} /> : null}\n <Touchable\n style={styleSheet.button}\n onPress={handlePressNext}\n accessibilityLabel={next['aria-label']}\n testID={next['data-name']}\n >\n <Text style={styleSheet.buttonText}>{next.label}</Text>\n </Touchable>\n </View>\n </View>\n );\n};\n\nexport default ReviewCorrectionPopin;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useState","Animated","Easing","StyleSheet","View","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","NovaLineLoginKey1","KlfIcon","useAnimateProp","Html","Text","Touchable","useTemplateContext","createStyleSheet","theme","type","create","wrapper","backgroundColor","height","display","justifyContent","popin","padding","spacing","medium","borderRadius","flexDirection","alignItems","colors","negative","positive","shadowColor","shadowOpacity","shadowOffset","width","shadowRadius","elevation","correctionSection","iconCircle","white","opacity","icon","resultLabel","color","fontSize","fontWeight","lineHeight","marginLeft","textTransform","feedbackSection","marginVertical","labelContainer","alignSelf","paddingHorizontal","tiny","paddingVertical","micro","marginBottom","label","extraBold","htmlInfoMessage","button","base","small","buttonText","cta","bold","textAlign","containerButtonKlf","buttonKlf","buttonKlfActive","buttonKlfText","iconKey","marginRight","containerTooltip","zIndex","position","black","buttonTooltip","bottom","right","htmlTooltipText","text","primary","triangleTooltip","borderStyle","borderLeftWidth","borderRightWidth","borderBottomWidth","borderTopWidth","borderLeftColor","borderTopColor","borderRightColor","borderBottomColor","transform","rotate","left","top","KlfButton","klf","styleSheet","displayTooltip","setDisplayTooltip","fadeIn","property","fromValue","toValue","easing","bezier","handlePressKey","start","revert","tooltip","animatedStyle","ICONS","wrong","ReviewCorrectionPopin","information","next","templateContext","setStylesheet","handlePressNext","onClick","Icon","_stylesheet","message"],"sources":["../../../src/molecule/review-correction-popin/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useState} from 'react';\nimport {Animated, Easing, TextStyle, StyleSheet, View, ViewStyle} from 'react-native';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon,\n NovaLineLoginKey1 as KlfIcon\n} from '@coorpacademy/nova-icons';\nimport {useAnimateProp} from '@coorpacademy/react-native-animation';\nimport Html from '../../atom/html/index.native';\nimport {Theme} from '../../variables/theme.native';\nimport Text from '../../atom/text/index.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {ReviewCorrectionPopinKLFProps, ReviewCorrectionPopinProps} from './prop-types';\n\ninterface StyleSheetType {\n wrapper: ViewStyle;\n popin: ViewStyle;\n correctionSection: ViewStyle;\n iconCircle: ViewStyle;\n icon: ViewStyle;\n resultLabel: TextStyle;\n feedbackSection: ViewStyle;\n labelContainer: ViewStyle;\n label: TextStyle;\n htmlInfoMessage: TextStyle;\n button: ViewStyle;\n buttonText: TextStyle;\n buttonKlf: ViewStyle;\n buttonKlfActive: TextStyle;\n buttonKlfText: TextStyle;\n iconKey: ViewStyle;\n containerTooltip: ViewStyle;\n buttonTooltip: ViewStyle;\n containerButtonKlf: ViewStyle;\n triangleTooltip: ViewStyle;\n htmlTooltipText: TextStyle;\n}\n\nconst createStyleSheet = (theme: Theme, type: string): StyleSheetType =>\n StyleSheet.create({\n wrapper: {\n backgroundColor: '#00000000',\n height: 2000,\n display: 'flex',\n justifyContent: 'flex-end'\n },\n popin: {\n padding: theme.spacing.medium,\n borderRadius: 16,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n backgroundColor: type === 'wrong' ? theme.colors.negative : theme.colors.positive,\n shadowColor: type === 'wrong' ? theme.colors.negative : theme.colors.positive,\n shadowOpacity: 0.5,\n shadowOffset: {width: 0, height: 0},\n shadowRadius: 15,\n elevation: 4\n },\n correctionSection: {\n flexDirection: 'row',\n alignItems: 'center',\n width: '80%'\n },\n iconCircle: {\n width: 60,\n height: 60,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.colors.white,\n opacity: 0.7,\n borderRadius: 50\n },\n icon: {\n height: 30,\n width: 30\n },\n resultLabel: {\n color: theme.colors.white,\n fontSize: 24,\n fontWeight: '600',\n lineHeight: 24,\n marginLeft: 12,\n textTransform: 'uppercase'\n },\n feedbackSection: {\n marginVertical: theme.spacing.medium\n },\n labelContainer: {\n alignSelf: 'flex-start',\n backgroundColor: 'rgba(255, 255, 255, 0.3)',\n borderRadius: 56,\n paddingHorizontal: theme.spacing.tiny,\n paddingVertical: theme.spacing.micro,\n marginBottom: 8\n },\n label: {\n color: theme.colors.white,\n fontSize: 14,\n fontWeight: theme.fontWeight.extraBold,\n lineHeight: 17\n },\n htmlInfoMessage: {\n color: theme.colors.white,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 19\n },\n button: {\n alignSelf: 'stretch',\n backgroundColor: theme.colors.white,\n borderRadius: 7,\n paddingHorizontal: theme.spacing.base,\n paddingVertical: theme.spacing.small\n },\n buttonText: {\n color: theme.colors.cta,\n fontSize: 14,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 20,\n textAlign: 'center'\n },\n containerButtonKlf: {\n width: '100%'\n },\n buttonKlf: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n borderRadius: 7,\n paddingHorizontal: theme.spacing.base,\n paddingVertical: theme.spacing.small,\n marginBottom: theme.spacing.tiny\n },\n buttonKlfActive: {\n backgroundColor:\n 'linear-gradient(0deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), rgba(255, 255, 255, 0.1)'\n },\n buttonKlfText: {\n color: 'white',\n fontSize: 14,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 20,\n textAlign: 'center'\n },\n iconKey: {\n width: 12,\n height: 12,\n marginRight: theme.spacing.tiny\n },\n containerTooltip: {\n zIndex: 30,\n position: 'relative',\n shadowColor: theme.colors.black,\n shadowOpacity: 0.3,\n shadowOffset: {width: 0, height: 0},\n shadowRadius: 8\n },\n buttonTooltip: {\n zIndex: 20,\n flexDirection: 'column',\n justifyContent: 'center',\n backgroundColor: theme.colors.white,\n borderRadius: 15,\n padding: theme.spacing.small,\n width: '112%',\n position: 'absolute',\n bottom: 4,\n right: -15,\n shadowColor: theme.colors.black,\n shadowOpacity: 0.3,\n shadowOffset: {width: 0, height: 0},\n shadowRadius: 8,\n elevation: 6\n },\n htmlTooltipText: {\n color: theme.colors.text.primary,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 22,\n textAlign: 'center'\n },\n triangleTooltip: {\n zIndex: 31,\n width: 0,\n height: 0,\n backgroundColor: 'transparent',\n borderStyle: 'solid',\n borderLeftWidth: 13,\n borderRightWidth: 13,\n borderBottomWidth: 13,\n borderTopWidth: 13,\n borderLeftColor: 'transparent',\n borderTopColor: 'transparent',\n borderRightColor: theme.colors.white,\n borderBottomColor: theme.colors.white,\n transform: [{rotate: '45deg'}],\n position: 'absolute',\n left: 110,\n top: -20,\n borderRadius: 4\n }\n });\n\nconst KlfButton = ({\n klf,\n styleSheet\n}: {\n klf: ReviewCorrectionPopinKLFProps;\n styleSheet: StyleSheetType;\n}) => {\n const [displayTooltip, setDisplayTooltip] = useState(false);\n const fadeIn = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n easing: Easing.bezier(0.25, 1, 0.5, 1)\n });\n\n const handlePressKey = useCallback(() => {\n setDisplayTooltip(!displayTooltip);\n !displayTooltip ? fadeIn.start() : fadeIn.revert();\n }, [displayTooltip, fadeIn]);\n\n const {\n buttonKlf,\n buttonKlfActive,\n buttonKlfText,\n containerButtonKlf,\n containerTooltip,\n buttonTooltip,\n htmlTooltipText,\n iconKey,\n triangleTooltip\n } = styleSheet;\n\n const {label, tooltip} = klf;\n\n return (\n <View style={containerButtonKlf}>\n <Animated.View style={[containerTooltip, fadeIn.animatedStyle]}>\n <Touchable\n style={buttonTooltip}\n accessibilityLabel={`aria-label-tooltip`}\n isHighlight\n onPress={handlePressKey}\n testID=\"button-tooltip\"\n >\n <Html style={htmlTooltipText}>{tooltip}</Html>\n </Touchable>\n <View style={triangleTooltip} />\n </Animated.View>\n <Touchable\n style={displayTooltip ? {...buttonKlf, ...buttonKlfActive} : buttonKlf}\n accessibilityLabel={`aria-label-${label}`}\n onPress={handlePressKey}\n testID=\"button-klf\"\n >\n <KlfIcon style={iconKey} color=\"white\" />\n <Text style={buttonKlfText}>{label}</Text>\n </Touchable>\n </View>\n );\n};\n\nconst ICONS = {\n right: RightIcon,\n wrong: WrongIcon\n};\n\nconst ReviewCorrectionPopin = ({\n information,\n klf,\n next,\n type,\n resultLabel\n}: ReviewCorrectionPopinProps) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n const handlePressNext = next.onClick;\n\n const Icon = ICONS[type];\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme, type);\n setStylesheet(_stylesheet);\n }, [theme, type]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.wrapper}>\n <View style={styleSheet.popin}>\n <View style={styleSheet.correctionSection}>\n <View style={styleSheet.iconCircle}>\n <Icon\n style={styleSheet.icon}\n color={type === 'wrong' ? theme.colors.negative : theme.colors.positive}\n />\n </View>\n <Text style={styleSheet.resultLabel}>{resultLabel}</Text>\n </View>\n <View style={styleSheet.feedbackSection} accessibilityLabel=\"answer-information\">\n <View style={styleSheet.labelContainer} needsOffscreenAlphaCompositing>\n <Text accessibilityLabel={information.label} style={styleSheet.label}>\n {information.label}\n </Text>\n </View>\n <Html style={styleSheet.htmlInfoMessage}>{information.message}</Html>\n </View>\n {klf && type === 'wrong' ? <KlfButton styleSheet={styleSheet} klf={klf} /> : null}\n <Touchable\n style={styleSheet.button}\n onPress={handlePressNext}\n accessibilityLabel={next['aria-label']}\n testID={next['data-name']}\n >\n <Text style={styleSheet.buttonText}>{next.label}</Text>\n </Touchable>\n </View>\n </View>\n );\n};\n\nexport default ReviewCorrectionPopin;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","FlatList","StyleSheet","SkillCard","style","create","skills","paddingBottom","Item","item","ariaLabel","skillTitle","skillAriaLabel","reviseLabel","reviseAriaLabel","onClick","buttonLabel","buttonAriaLabel","isCustom","ReviewListSkills","props","listSkills"],"sources":["../../../src/organism/review-skills/index.native.tsx"],"sourcesContent":["import React from 'react';\nimport {FlatList, StyleSheet} from 'react-native';\nimport SkillCard from '../../molecule/skill-card/index.native';\nimport {SkillCardProps} from '../../molecule/skill-card/prop-types';\nimport {ReviewSkills} from './prop-types';\n\ntype ItemProps = {\n item: SkillCardProps;\n};\n\nconst style = StyleSheet.create({\n skills: {paddingBottom:
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","FlatList","StyleSheet","SkillCard","style","create","skills","paddingBottom","Item","item","ariaLabel","skillTitle","skillAriaLabel","reviseLabel","reviseAriaLabel","onClick","buttonLabel","buttonAriaLabel","isCustom","ReviewListSkills","props","listSkills"],"sources":["../../../src/organism/review-skills/index.native.tsx"],"sourcesContent":["import React from 'react';\nimport {FlatList, StyleSheet} from 'react-native';\nimport SkillCard from '../../molecule/skill-card/index.native';\nimport {SkillCardProps} from '../../molecule/skill-card/prop-types';\nimport {ReviewSkills} from './prop-types';\n\ntype ItemProps = {\n item: SkillCardProps;\n};\n\nconst style = StyleSheet.create({\n skills: {paddingBottom: 200}\n});\n\nconst Item = ({\n item: {\n 'aria-label': ariaLabel,\n skillTitle,\n skillAriaLabel,\n reviseLabel,\n reviseAriaLabel,\n onClick,\n buttonLabel,\n buttonAriaLabel,\n isCustom\n }\n}: ItemProps) => (\n <SkillCard\n aria-label={ariaLabel}\n skillTitle={skillTitle}\n skillAriaLabel={skillAriaLabel}\n reviseLabel={reviseLabel}\n reviseAriaLabel={reviseAriaLabel}\n onClick={onClick}\n buttonLabel={buttonLabel}\n buttonAriaLabel={buttonAriaLabel}\n isCustom={isCustom}\n />\n);\n\nconst ReviewListSkills = (props: ReviewSkills) => {\n const {listSkills} = props;\n\n return <FlatList contentContainerStyle={style.skills} data={listSkills} renderItem={Item} />;\n};\n\nexport default ReviewListSkills;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAQC,QAAR,EAAkBC,UAAlB,QAAmC,cAAnC;AACA,OAAOC,SAAP,MAAsB,wCAAtB;AAQA,MAAMC,KAAK,GAAGF,UAAU,CAACG,MAAX,CAAkB;EAC9BC,MAAM,EAAE;IAACC,aAAa,EAAE;EAAhB;AADsB,CAAlB,CAAd;;AAIA,MAAMC,IAAI,GAAG,CAAC;EACZC,IAAI,EAAE;IACJ,cAAcC,SADV;IAEJC,UAFI;IAGJC,cAHI;IAIJC,WAJI;IAKJC,eALI;IAMJC,OANI;IAOJC,WAPI;IAQJC,eARI;IASJC;EATI;AADM,CAAD,kBAaX,oBAAC,SAAD;EACE,cAAYR,SADd;EAEE,UAAU,EAAEC,UAFd;EAGE,cAAc,EAAEC,cAHlB;EAIE,WAAW,EAAEC,WAJf;EAKE,eAAe,EAAEC,eALnB;EAME,OAAO,EAAEC,OANX;EAOE,WAAW,EAAEC,WAPf;EAQE,eAAe,EAAEC,eARnB;EASE,QAAQ,EAAEC;AATZ,EAbF;;AA0BA,MAAMC,gBAAgB,GAAIC,KAAD,IAAyB;EAChD,MAAM;IAACC;EAAD,IAAeD,KAArB;EAEA,oBAAO,oBAAC,QAAD;IAAU,qBAAqB,EAAEhB,KAAK,CAACE,MAAvC;IAA+C,IAAI,EAAEe,UAArD;IAAiE,UAAU,EAAEb;EAA7E,EAAP;AACD,CAJD;;AAMA,eAAeW,gBAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AA0BA,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AA0BA,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAuPtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,gBAmFrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -139,7 +139,6 @@ const createQuestionStyle = theme => StyleSheet.create({
|
|
|
139
139
|
},
|
|
140
140
|
choicesScrollContent: {
|
|
141
141
|
justifyContent: 'space-around',
|
|
142
|
-
flex: 1,
|
|
143
142
|
padding: 10
|
|
144
143
|
}
|
|
145
144
|
});
|
|
@@ -172,7 +171,9 @@ const Question = props => {
|
|
|
172
171
|
style: style.questionHelp
|
|
173
172
|
}, get('help', answerUI))), /*#__PURE__*/React.createElement(ScrollView, {
|
|
174
173
|
style: style.choicesScrollView,
|
|
175
|
-
contentContainerStyle: style.choicesScrollContent,
|
|
174
|
+
contentContainerStyle: [style.choicesScrollContent, isKeyboardVisible ? {
|
|
175
|
+
flex: 1
|
|
176
|
+
} : null],
|
|
176
177
|
centerContent: true,
|
|
177
178
|
showsHorizontalScrollIndicator: false,
|
|
178
179
|
showsVerticalScrollIndicator: false
|
|
@@ -181,7 +182,6 @@ const Question = props => {
|
|
|
181
182
|
autoplay: autoplayMedia
|
|
182
183
|
}) : null, /*#__PURE__*/React.createElement(View, {
|
|
183
184
|
style: {
|
|
184
|
-
minHeight: 100,
|
|
185
185
|
flex: isKeyboardVisible ? 1 : 0,
|
|
186
186
|
marginTop: hasVideoOrImage ? 30 : 0
|
|
187
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useMemo","useState","Animated","Easing","Image","Keyboard","ScrollView","StyleSheet","useWindowDimensions","View","get","getOr","useTranslateY","Answer","ReviewCorrectionPopin","useTemplateContext","Button","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","Video","Html","styles","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","uri","url","split","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","fromValue","toValue","duration","easing","bezier","start","klf","undefined","information","label","message","next","onClick","_correctionPopinProps","resultLabel","style","animatedStyle","createQuestionStyle","theme","questionHeading","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","marginTop","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","setStyle","questionStyle","hasVideoOrImage","includes","minHeight","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","setKeyboardVisible","showListener","addListener","hideListener","remove","handleValidatePress","dismiss","setTimeout","slideStyle","isFirstSlide","loading","parentContentTitle","disabled"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOrigin: ViewStyle;\n questionText: TextStyle;\n questionHelp: ViewStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n justifyContent: 'space-around',\n flex: 1,\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <Html style={style.questionOrigin}>{questionOrigin}</Html>\n <Html style={style.questionText}>{questionText}</Html>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n centerContent\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n minHeight: 100,\n flex: isKeyboardVisible ? 1 : 0,\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n const [isKeyboardVisible, setKeyboardVisible] = useState<boolean>(false);\n\n useEffect(() => {\n const showListener = Keyboard.addListener('keyboardDidShow', () => {\n setKeyboardVisible(true);\n });\n\n const hideListener = Keyboard.addListener('keyboardDidHide', () => {\n setKeyboardVisible(false);\n });\n\n return () => {\n showListener.remove();\n hideListener.remove();\n };\n }, []);\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} />;\n }\n\n return (\n <Animated.View style={[slideStyle.slide, animatedStyle]}>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useMemo","useState","Animated","Easing","Image","Keyboard","ScrollView","StyleSheet","useWindowDimensions","View","get","getOr","useTranslateY","Answer","ReviewCorrectionPopin","useTemplateContext","Button","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","Video","Html","styles","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","uri","url","split","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","fromValue","toValue","duration","easing","bezier","start","klf","undefined","information","label","message","next","onClick","_correctionPopinProps","resultLabel","style","animatedStyle","createQuestionStyle","theme","questionHeading","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","marginTop","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","setStyle","questionStyle","hasVideoOrImage","includes","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","setKeyboardVisible","showListener","addListener","hideListener","remove","handleValidatePress","dismiss","setTimeout","slideStyle","isFirstSlide","loading","parentContentTitle","disabled"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOrigin: ViewStyle;\n questionText: TextStyle;\n questionHelp: ViewStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n justifyContent: 'space-around',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <Html style={style.questionOrigin}>{questionOrigin}</Html>\n <Html style={style.questionText}>{questionText}</Html>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={[\n style.choicesScrollContent,\n isKeyboardVisible\n ? {\n flex: 1\n }\n : null\n ]}\n centerContent\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n flex: isKeyboardVisible ? 1 : 0,\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n const [isKeyboardVisible, setKeyboardVisible] = useState<boolean>(false);\n\n useEffect(() => {\n const showListener = Keyboard.addListener('keyboardDidShow', () => {\n setKeyboardVisible(true);\n });\n\n const hideListener = Keyboard.addListener('keyboardDidHide', () => {\n setKeyboardVisible(false);\n });\n\n return () => {\n showListener.remove();\n hideListener.remove();\n };\n }, []);\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} />;\n }\n\n return (\n <Animated.View style={[slideStyle.slide, animatedStyle]}>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
export default Favorite;
|
|
2
|
-
declare
|
|
3
|
-
|
|
2
|
+
declare function Favorite({ favorite, addFavoriteToolTip, removeFavoriteToolTip, className, "aria-label": ariaLabel, onFavoriteClick, disabled }: {
|
|
3
|
+
favorite: any;
|
|
4
|
+
addFavoriteToolTip: any;
|
|
5
|
+
removeFavoriteToolTip: any;
|
|
6
|
+
className: any;
|
|
7
|
+
"aria-label"?: {} | undefined;
|
|
8
|
+
onFavoriteClick?: import("lodash/fp").LodashNoop | undefined;
|
|
9
|
+
disabled: any;
|
|
10
|
+
}, legacyContext: any): JSX.Element;
|
|
11
|
+
declare namespace Favorite {
|
|
12
|
+
const propTypes: {
|
|
4
13
|
className: PropTypes.Requireable<string>;
|
|
5
14
|
favorite: PropTypes.Requireable<boolean>;
|
|
6
15
|
disabled: PropTypes.Requireable<boolean>;
|
|
@@ -13,8 +22,8 @@ declare class Favorite extends React.Component<any, any, any> {
|
|
|
13
22
|
removeFromFavorite: PropTypes.Requireable<string>;
|
|
14
23
|
}>>;
|
|
15
24
|
};
|
|
16
|
-
|
|
17
|
-
skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
25
|
+
namespace contextTypes {
|
|
26
|
+
const skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
18
27
|
common: PropTypes.Requireable<{
|
|
19
28
|
[x: string]: any;
|
|
20
29
|
}>;
|
|
@@ -35,11 +44,7 @@ declare class Favorite extends React.Component<any, any, any> {
|
|
|
35
44
|
[x: string]: any;
|
|
36
45
|
}>;
|
|
37
46
|
}>>;
|
|
38
|
-
}
|
|
39
|
-
constructor(props: any, context: any);
|
|
40
|
-
handleFavoviteClick(e: any): void;
|
|
41
|
-
render(): JSX.Element;
|
|
47
|
+
}
|
|
42
48
|
}
|
|
43
|
-
import React from "react";
|
|
44
49
|
import PropTypes from "prop-types";
|
|
45
50
|
//# sourceMappingURL=favorite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"favorite.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/favorite.js"],"names":[],"mappings":";AAWA
|
|
1
|
+
{"version":3,"file":"favorite.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/favorite.js"],"names":[],"mappings":";AAWA;;;;;;;;oCAoEC"}
|