@coorpacademy/components 10.30.9 → 10.30.10-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/button/index.native.d.ts +14 -0
- package/es/atom/button/index.native.d.ts.map +1 -0
- package/es/atom/button/index.native.js +57 -0
- package/es/atom/button/index.native.js.map +1 -0
- package/es/atom/choice/index.native.js +2 -4
- package/es/atom/choice/index.native.js.map +1 -1
- package/es/atom/html/index.native.js +1 -3
- package/es/atom/html/index.native.js.map +1 -1
- package/es/atom/review-presentation/index.native.js +56 -60
- package/es/atom/review-presentation/index.native.js.map +1 -1
- package/es/atom/text/index.native.d.ts +2 -2
- package/es/atom/text/index.native.d.ts.map +1 -1
- package/es/atom/text/index.native.js.map +1 -1
- package/es/hoc/modal/select/index.native.js +3 -3
- package/es/hoc/modal/select/index.native.js.map +1 -1
- package/es/hoc/modal/select-item/index.native.js +13 -17
- package/es/hoc/modal/select-item/index.native.js.map +1 -1
- package/es/hoc/touchable/index.native.d.ts +2 -2
- package/es/hoc/touchable/index.native.d.ts.map +1 -1
- package/es/hoc/touchable/index.native.js +5 -2
- package/es/hoc/touchable/index.native.js.map +1 -1
- package/es/molecule/card-congrats/index.native.d.ts +5 -0
- package/es/molecule/card-congrats/index.native.d.ts.map +1 -0
- package/es/molecule/card-congrats/index.native.js +102 -0
- package/es/molecule/card-congrats/index.native.js.map +1 -0
- package/es/molecule/card-congrats/types.d.ts +15 -0
- package/es/molecule/card-congrats/types.d.ts.map +1 -0
- package/es/molecule/card-congrats/types.js +2 -0
- package/es/molecule/card-congrats/types.js.map +1 -0
- package/es/molecule/dashboard/cards-list/index.js +3 -7
- package/es/molecule/dashboard/cards-list/index.js.map +1 -1
- package/es/molecule/questions/free-text/index.native.js +26 -30
- package/es/molecule/questions/free-text/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/slider/index.native.js +3 -5
- package/es/molecule/questions/mobile/slider/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/template/index.native.js +1 -3
- package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
- package/es/molecule/review-card-congrats/index.js +2 -2
- package/es/molecule/review-card-congrats/index.js.map +1 -1
- package/es/molecule/review-correction-popin/prop-types.d.ts +3 -0
- package/es/molecule/review-correction-popin/prop-types.d.ts.map +1 -1
- package/es/molecule/review-correction-popin/prop-types.js.map +1 -1
- package/es/organism/mooc-header/index.d.ts.map +1 -1
- package/es/organism/mooc-header/index.js +6 -6
- package/es/organism/mooc-header/index.js.map +1 -1
- package/es/organism/review-congrats/index.js +1 -3
- package/es/organism/review-congrats/index.js.map +1 -1
- package/es/organism/review-congrats/index.native.d.ts +5 -0
- package/es/organism/review-congrats/index.native.d.ts.map +1 -0
- package/es/organism/review-congrats/index.native.js +130 -0
- package/es/organism/review-congrats/index.native.js.map +1 -0
- package/es/organism/review-slide/index.native.d.ts.map +1 -1
- package/es/organism/review-slide/index.native.js +16 -61
- package/es/organism/review-slide/index.native.js.map +1 -1
- package/es/organism/review-slide/prop-types.d.ts +5 -0
- package/es/organism/review-slide/prop-types.d.ts.map +1 -1
- package/es/organism/review-slide/prop-types.js.map +1 -1
- package/es/organism/review-stacked-slides/index.native.d.ts.map +1 -1
- package/es/organism/review-stacked-slides/index.native.js +1 -2
- package/es/organism/review-stacked-slides/index.native.js.map +1 -1
- package/es/template/app-review/player/index.native.d.ts.map +1 -1
- package/es/template/app-review/player/index.native.js +8 -9
- package/es/template/app-review/player/index.native.js.map +1 -1
- package/lib/atom/button/index.native.d.ts +14 -0
- package/lib/atom/button/index.native.d.ts.map +1 -0
- package/lib/atom/button/index.native.js +73 -0
- package/lib/atom/button/index.native.js.map +1 -0
- package/lib/atom/choice/index.native.js +2 -4
- package/lib/atom/choice/index.native.js.map +1 -1
- package/lib/atom/html/index.native.js +1 -3
- package/lib/atom/html/index.native.js.map +1 -1
- package/lib/atom/review-presentation/index.native.js +56 -60
- package/lib/atom/review-presentation/index.native.js.map +1 -1
- package/lib/atom/text/index.native.d.ts +2 -2
- package/lib/atom/text/index.native.d.ts.map +1 -1
- package/lib/atom/text/index.native.js.map +1 -1
- package/lib/hoc/modal/select/index.native.js +3 -3
- package/lib/hoc/modal/select/index.native.js.map +1 -1
- package/lib/hoc/modal/select-item/index.native.js +13 -17
- package/lib/hoc/modal/select-item/index.native.js.map +1 -1
- package/lib/hoc/touchable/index.native.d.ts +2 -2
- package/lib/hoc/touchable/index.native.d.ts.map +1 -1
- package/lib/hoc/touchable/index.native.js +5 -2
- package/lib/hoc/touchable/index.native.js.map +1 -1
- package/lib/molecule/card-congrats/index.native.d.ts +5 -0
- package/lib/molecule/card-congrats/index.native.d.ts.map +1 -0
- package/lib/molecule/card-congrats/index.native.js +118 -0
- package/lib/molecule/card-congrats/index.native.js.map +1 -0
- package/lib/molecule/card-congrats/types.d.ts +15 -0
- package/lib/molecule/card-congrats/types.d.ts.map +1 -0
- package/lib/molecule/card-congrats/types.js +2 -0
- package/lib/molecule/card-congrats/types.js.map +1 -0
- package/lib/molecule/dashboard/cards-list/index.js +3 -7
- package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
- package/lib/molecule/questions/free-text/index.native.js +26 -30
- package/lib/molecule/questions/free-text/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/slider/index.native.js +3 -5
- package/lib/molecule/questions/mobile/slider/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/template/index.native.js +1 -3
- package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
- package/lib/molecule/review-card-congrats/index.js.map +1 -1
- package/lib/molecule/review-correction-popin/prop-types.d.ts +3 -0
- package/lib/molecule/review-correction-popin/prop-types.d.ts.map +1 -1
- package/lib/molecule/review-correction-popin/prop-types.js.map +1 -1
- package/lib/organism/mooc-header/index.d.ts.map +1 -1
- package/lib/organism/mooc-header/index.js +6 -6
- package/lib/organism/mooc-header/index.js.map +1 -1
- package/lib/organism/review-congrats/index.js +1 -3
- package/lib/organism/review-congrats/index.js.map +1 -1
- package/lib/organism/review-congrats/index.native.d.ts +5 -0
- package/lib/organism/review-congrats/index.native.d.ts.map +1 -0
- package/lib/organism/review-congrats/index.native.js +149 -0
- package/lib/organism/review-congrats/index.native.js.map +1 -0
- package/lib/organism/review-slide/index.native.d.ts.map +1 -1
- package/lib/organism/review-slide/index.native.js +16 -61
- package/lib/organism/review-slide/index.native.js.map +1 -1
- package/lib/organism/review-slide/prop-types.d.ts +5 -0
- package/lib/organism/review-slide/prop-types.d.ts.map +1 -1
- package/lib/organism/review-slide/prop-types.js.map +1 -1
- package/lib/organism/review-stacked-slides/index.native.d.ts.map +1 -1
- package/lib/organism/review-stacked-slides/index.native.js +1 -2
- package/lib/organism/review-stacked-slides/index.native.js.map +1 -1
- package/lib/template/app-review/player/index.native.d.ts.map +1 -1
- package/lib/template/app-review/player/index.native.js +10 -10
- package/lib/template/app-review/player/index.native.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TextStyle, ViewStyle } from 'react-native';
|
|
3
|
+
declare type ButtonProps = {
|
|
4
|
+
accessibilityLabel?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
onPress: () => void;
|
|
7
|
+
style?: ViewStyle;
|
|
8
|
+
submitValue: string;
|
|
9
|
+
testID?: string;
|
|
10
|
+
textStyle?: TextStyle;
|
|
11
|
+
};
|
|
12
|
+
declare const Button: (props: ButtonProps) => JSX.Element | null;
|
|
13
|
+
export default Button;
|
|
14
|
+
//# sourceMappingURL=index.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/button/index.native.tsx"],"names":[],"mappings":";AACA,OAAO,EAAa,SAAS,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AA8B9D,aAAK,WAAW,GAAG;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,QAAA,MAAM,MAAM,UAAW,WAAW,uBAuBjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { StyleSheet } from 'react-native';
|
|
3
|
+
import Text from '../text/index.native';
|
|
4
|
+
import { useTemplateContext } from '../../template/app-review/template-context';
|
|
5
|
+
import Touchable from '../../hoc/touchable/index.native';
|
|
6
|
+
|
|
7
|
+
const createStyle = (theme, brandTheme) => StyleSheet.create({
|
|
8
|
+
wrapper: {
|
|
9
|
+
backgroundColor: brandTheme?.colors?.primary || theme.colors.text.primary,
|
|
10
|
+
borderRadius: 7,
|
|
11
|
+
width: '100%'
|
|
12
|
+
},
|
|
13
|
+
text: {
|
|
14
|
+
fontSize: 14,
|
|
15
|
+
lineHeight: 20,
|
|
16
|
+
fontWeight: '700',
|
|
17
|
+
color: theme.colors.white,
|
|
18
|
+
marginBottom: 16,
|
|
19
|
+
marginTop: 16,
|
|
20
|
+
textAlign: 'center'
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const Button = props => {
|
|
25
|
+
const {
|
|
26
|
+
accessibilityLabel,
|
|
27
|
+
disabled,
|
|
28
|
+
onPress,
|
|
29
|
+
style,
|
|
30
|
+
submitValue,
|
|
31
|
+
testID,
|
|
32
|
+
textStyle
|
|
33
|
+
} = props;
|
|
34
|
+
const {
|
|
35
|
+
theme,
|
|
36
|
+
brandTheme
|
|
37
|
+
} = useTemplateContext();
|
|
38
|
+
const [styleSheet, setStylesheet] = useState();
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
const _style = createStyle(theme, brandTheme);
|
|
41
|
+
|
|
42
|
+
setStylesheet(_style);
|
|
43
|
+
}, [theme, brandTheme]);
|
|
44
|
+
if (!styleSheet) return null;
|
|
45
|
+
return /*#__PURE__*/React.createElement(Touchable, {
|
|
46
|
+
testID: testID,
|
|
47
|
+
onPress: onPress,
|
|
48
|
+
disabled: disabled,
|
|
49
|
+
accessibilityLabel: accessibilityLabel,
|
|
50
|
+
style: [styleSheet.wrapper, style]
|
|
51
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
52
|
+
style: [styleSheet.text, textStyle]
|
|
53
|
+
}, submitValue));
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export default Button;
|
|
57
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useEffect","useState","StyleSheet","Text","useTemplateContext","Touchable","createStyle","theme","brandTheme","create","wrapper","backgroundColor","colors","primary","text","borderRadius","width","fontSize","lineHeight","fontWeight","color","white","marginBottom","marginTop","textAlign","Button","props","accessibilityLabel","disabled","onPress","style","submitValue","testID","textStyle","styleSheet","setStylesheet","_style"],"sources":["../../../src/atom/button/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {StyleSheet, TextStyle, ViewStyle} from 'react-native';\nimport Text from '../text/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Brand} from '../../variables/brand.native';\n\ntype StyleSheetType = {\n wrapper: ViewStyle;\n text: ViewStyle;\n};\n\nconst createStyle = (theme: Theme, brandTheme: Brand): StyleSheetType =>\n StyleSheet.create({\n wrapper: {\n backgroundColor: brandTheme?.colors?.primary || theme.colors.text.primary,\n borderRadius: 7,\n width: '100%'\n },\n text: {\n fontSize: 14,\n lineHeight: 20,\n fontWeight: '700',\n color: theme.colors.white,\n marginBottom: 16,\n marginTop: 16,\n textAlign: 'center'\n }\n });\n\ntype ButtonProps = {\n accessibilityLabel?: string;\n disabled?: boolean;\n onPress: () => void;\n style?: ViewStyle;\n submitValue: string;\n testID?: string;\n textStyle?: TextStyle;\n};\n\nconst Button = (props: ButtonProps) => {\n const {accessibilityLabel, disabled, onPress, style, submitValue, testID, textStyle} = props;\n const {theme, brandTheme} = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType>();\n\n useEffect(() => {\n const _style = createStyle(theme, brandTheme);\n setStylesheet(_style);\n }, [theme, brandTheme]);\n\n if (!styleSheet) return null;\n\n return (\n <Touchable\n testID={testID}\n onPress={onPress}\n disabled={disabled}\n accessibilityLabel={accessibilityLabel}\n style={[styleSheet.wrapper, style]}\n >\n <Text style={[styleSheet.text, textStyle]}>{submitValue}</Text>\n </Touchable>\n );\n};\n\nexport default Button;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,SAAf,EAA0BC,QAA1B,QAAyC,OAAzC;AACA,SAAQC,UAAR,QAA+C,cAA/C;AACA,OAAOC,IAAP,MAAiB,sBAAjB;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;AAEA,OAAOC,SAAP,MAAsB,kCAAtB;;AAQA,MAAMC,WAAW,GAAG,CAACC,KAAD,EAAeC,UAAf,KAClBN,UAAU,CAACO,MAAX,CAAkB;EAChBC,OAAO,EAAE;IACPC,eAAe,EAAEH,UAAU,EAAEI,MAAZ,EAAoBC,OAApB,IAA+BN,KAAK,CAACK,MAAN,CAAaE,IAAb,CAAkBD,OAD3D;IAEPE,YAAY,EAAE,CAFP;IAGPC,KAAK,EAAE;EAHA,CADO;EAMhBF,IAAI,EAAE;IACJG,QAAQ,EAAE,EADN;IAEJC,UAAU,EAAE,EAFR;IAGJC,UAAU,EAAE,KAHR;IAIJC,KAAK,EAAEb,KAAK,CAACK,MAAN,CAAaS,KAJhB;IAKJC,YAAY,EAAE,EALV;IAMJC,SAAS,EAAE,EANP;IAOJC,SAAS,EAAE;EAPP;AANU,CAAlB,CADF;;AA4BA,MAAMC,MAAM,GAAIC,KAAD,IAAwB;EACrC,MAAM;IAACC,kBAAD;IAAqBC,QAArB;IAA+BC,OAA/B;IAAwCC,KAAxC;IAA+CC,WAA/C;IAA4DC,MAA5D;IAAoEC;EAApE,IAAiFP,KAAvF;EACA,MAAM;IAACnB,KAAD;IAAQC;EAAR,IAAsBJ,kBAAkB,EAA9C;EACA,MAAM,CAAC8B,UAAD,EAAaC,aAAb,IAA8BlC,QAAQ,EAA5C;EAEAD,SAAS,CAAC,MAAM;IACd,MAAMoC,MAAM,GAAG9B,WAAW,CAACC,KAAD,EAAQC,UAAR,CAA1B;;IACA2B,aAAa,CAACC,MAAD,CAAb;EACD,CAHQ,EAGN,CAAC7B,KAAD,EAAQC,UAAR,CAHM,CAAT;EAKA,IAAI,CAAC0B,UAAL,EAAiB,OAAO,IAAP;EAEjB,oBACE,oBAAC,SAAD;IACE,MAAM,EAAEF,MADV;IAEE,OAAO,EAAEH,OAFX;IAGE,QAAQ,EAAED,QAHZ;IAIE,kBAAkB,EAAED,kBAJtB;IAKE,KAAK,EAAE,CAACO,UAAU,CAACxB,OAAZ,EAAqBoB,KAArB;EALT,gBAOE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAACI,UAAU,CAACpB,IAAZ,EAAkBmB,SAAlB;EAAb,GAA4CF,WAA5C,CAPF,CADF;AAWD,CAvBD;;AAyBA,eAAeN,MAAf"}
|
|
@@ -106,13 +106,11 @@ const Choice = ({
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
if (isSelected) {
|
|
109
|
-
var _brandTheme$colors, _brandTheme$colors2;
|
|
110
|
-
|
|
111
109
|
textStyle.push(styleSheet.textSelected); // eslint-disable-next-line @coorpacademy/coorpacademy/no-overwriting-spread
|
|
112
110
|
|
|
113
111
|
const selectionStyle = brandTheme && _extends({
|
|
114
|
-
backgroundColor:
|
|
115
|
-
borderColor:
|
|
112
|
+
backgroundColor: brandTheme.colors?.primary,
|
|
113
|
+
borderColor: brandTheme.colors?.primary
|
|
116
114
|
}, url ? {
|
|
117
115
|
borderTopRightRadius: theme.radius.regular,
|
|
118
116
|
borderBottomRightRadius: theme.radius.regular
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useEffect","useState","View","StyleSheet","Html","ImageBackground","getCleanUri","Touchable","useTemplateContext","createStyleSheet","theme","squeezed","create","boxShadow","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","backgroundColor","container","colors","white","borderRadius","radius","regular","flexDirection","alignItems","textContainer","paddingHorizontal","paddingVertical","justifyContent","flex","squeezedTextContainer","padding","spacing","small","paddingLeft","undefined","paddingRight","text","fontSize","medium","fontWeight","bold","color","black","textAlign","textSelected","unselectedImageContainer","borderRightColor","border","imageContainer","overflow","borderTopLeftRadius","borderBottomLeftRadius","image","Choice","children","isSelected","isDisabled","onPress","media","testID","prefixTestID","style","questionType","templateContext","brandTheme","styleSheet","setStylesheet","_stylesheet","selectedSuffix","mediaType","type","toLowerCase","url","src","length","source","uri","mediaSuffix","textStyle","textWrapperStyle","push","selectionStyle","primary","borderColor","borderTopRightRadius","borderBottomRightRadius"],"sources":["../../../src/atom/choice/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle} from 'react-native';\n\nimport Html from '../html/index.native';\nimport ImageBackground from '../image-background/index.native';\nimport type {Media, QuestionType} from '../../molecule/questions/types';\nimport getCleanUri from '../../util/get-clean-uri';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\n\nexport type Props = {\n isSelected?: boolean;\n onPress: () => void;\n children?: string;\n isDisabled?: boolean;\n testID?: string;\n media?: Media;\n squeezed?: boolean;\n style?: ViewStyle;\n questionType: QuestionType;\n};\n\ntype StyleSheetType = {\n boxShadow: ViewStyle;\n container: ViewStyle;\n text: TextStyle;\n textSelected: TextStyle;\n textContainer: ViewStyle;\n squeezedTextContainer: ViewStyle;\n unselectedImageContainer: ViewStyle;\n imageContainer: ViewStyle;\n image: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme, squeezed: boolean): StyleSheetType =>\n StyleSheet.create({\n boxShadow: {\n shadowColor: '#000',\n shadowOffset: {width: 0, height: 4},\n shadowOpacity: 0.12,\n shadowRadius: 16,\n elevation: 8,\n backgroundColor: '#0000'\n },\n container: {\n backgroundColor: theme.colors.white,\n borderRadius: theme.radius.regular,\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n textContainer: {\n paddingHorizontal: 24,\n paddingVertical: 12,\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1\n },\n squeezedTextContainer: {\n padding: theme.spacing.small,\n paddingLeft: undefined,\n paddingVertical: undefined,\n paddingRight: undefined,\n flex: 0\n },\n text: {\n fontSize: squeezed ? theme.fontSize.medium : theme.fontSize.regular,\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.black,\n textAlign: 'center'\n },\n textSelected: {\n color: theme.colors.white\n },\n unselectedImageContainer: {\n borderRightColor: theme.colors.border\n },\n imageContainer: {\n height: '100%',\n width: '25%',\n overflow: 'hidden',\n borderTopLeftRadius: theme.radius.regular,\n borderBottomLeftRadius: theme.radius.regular\n },\n image: {\n flex: 1\n }\n });\n\nconst Choice = ({\n children,\n isSelected = false,\n squeezed = false,\n isDisabled,\n onPress,\n media,\n testID: prefixTestID,\n style,\n questionType\n}: Props) => {\n const templateContext = useTemplateContext();\n const {theme, brandTheme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme, squeezed);\n setStylesheet(_stylesheet);\n }, [theme, squeezed]);\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedSuffix = prefixTestID && isSelected ? '-selected' : '';\n const mediaType = media && media.type && media.type === 'img' && media.type.toLowerCase();\n const url =\n media &&\n media.type === 'img' &&\n media.src &&\n media.src.length > 0 &&\n getCleanUri(media.src[0].url);\n\n const source = {uri: url ? getCleanUri(url) : undefined};\n const mediaSuffix = prefixTestID && mediaType ? `-${mediaType}` : '';\n\n const textStyle: TextStyle[] = [styleSheet.text];\n const textWrapperStyle: ViewStyle[] = [styleSheet.textContainer];\n\n if (squeezed) {\n textWrapperStyle.push(styleSheet.squeezedTextContainer);\n }\n\n if (isSelected) {\n textStyle.push(styleSheet.textSelected);\n\n // eslint-disable-next-line @coorpacademy/coorpacademy/no-overwriting-spread\n const selectionStyle = brandTheme && {\n backgroundColor: brandTheme.colors?.primary,\n borderColor: brandTheme.colors?.primary,\n ...(url\n ? {\n borderTopRightRadius: theme.radius.regular,\n borderBottomRightRadius: theme.radius.regular\n }\n : {\n borderRadius: theme.radius.regular\n })\n };\n\n if (selectionStyle) {\n textWrapperStyle.push(selectionStyle);\n }\n }\n\n return (\n <Touchable\n onPress={!isDisabled ? onPress : undefined}\n style={style}\n analyticsID=\"question-choice\"\n analyticsParams={{questionType}}\n >\n <View\n style={[styleSheet.boxShadow, styleSheet.container]}\n testID={prefixTestID && `${prefixTestID}${selectedSuffix}`}\n >\n {url ? (\n <View style={styleSheet.imageContainer}>\n <ImageBackground\n testID={prefixTestID && `${prefixTestID}${mediaSuffix}`}\n source={source}\n style={styleSheet.image}\n />\n </View>\n ) : null}\n\n {children ? (\n <View style={textWrapperStyle}>\n <Html style={textStyle}>{children}</Html>\n </View>\n ) : null}\n </View>\n </Touchable>\n );\n};\n\nexport default Choice;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useEffect","useState","View","StyleSheet","Html","ImageBackground","getCleanUri","Touchable","useTemplateContext","createStyleSheet","theme","squeezed","create","boxShadow","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","backgroundColor","container","colors","white","borderRadius","radius","regular","flexDirection","alignItems","textContainer","paddingHorizontal","paddingVertical","justifyContent","flex","squeezedTextContainer","padding","spacing","small","paddingLeft","undefined","paddingRight","text","fontSize","medium","fontWeight","bold","color","black","textAlign","textSelected","unselectedImageContainer","borderRightColor","border","imageContainer","overflow","borderTopLeftRadius","borderBottomLeftRadius","image","Choice","children","isSelected","isDisabled","onPress","media","testID","prefixTestID","style","questionType","templateContext","brandTheme","styleSheet","setStylesheet","_stylesheet","selectedSuffix","mediaType","type","toLowerCase","url","src","length","source","uri","mediaSuffix","textStyle","textWrapperStyle","push","selectionStyle","primary","borderColor","borderTopRightRadius","borderBottomRightRadius"],"sources":["../../../src/atom/choice/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle} from 'react-native';\n\nimport Html from '../html/index.native';\nimport ImageBackground from '../image-background/index.native';\nimport type {Media, QuestionType} from '../../molecule/questions/types';\nimport getCleanUri from '../../util/get-clean-uri';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\n\nexport type Props = {\n isSelected?: boolean;\n onPress: () => void;\n children?: string;\n isDisabled?: boolean;\n testID?: string;\n media?: Media;\n squeezed?: boolean;\n style?: ViewStyle;\n questionType: QuestionType;\n};\n\ntype StyleSheetType = {\n boxShadow: ViewStyle;\n container: ViewStyle;\n text: TextStyle;\n textSelected: TextStyle;\n textContainer: ViewStyle;\n squeezedTextContainer: ViewStyle;\n unselectedImageContainer: ViewStyle;\n imageContainer: ViewStyle;\n image: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme, squeezed: boolean): StyleSheetType =>\n StyleSheet.create({\n boxShadow: {\n shadowColor: '#000',\n shadowOffset: {width: 0, height: 4},\n shadowOpacity: 0.12,\n shadowRadius: 16,\n elevation: 8,\n backgroundColor: '#0000'\n },\n container: {\n backgroundColor: theme.colors.white,\n borderRadius: theme.radius.regular,\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n textContainer: {\n paddingHorizontal: 24,\n paddingVertical: 12,\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1\n },\n squeezedTextContainer: {\n padding: theme.spacing.small,\n paddingLeft: undefined,\n paddingVertical: undefined,\n paddingRight: undefined,\n flex: 0\n },\n text: {\n fontSize: squeezed ? theme.fontSize.medium : theme.fontSize.regular,\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.black,\n textAlign: 'center'\n },\n textSelected: {\n color: theme.colors.white\n },\n unselectedImageContainer: {\n borderRightColor: theme.colors.border\n },\n imageContainer: {\n height: '100%',\n width: '25%',\n overflow: 'hidden',\n borderTopLeftRadius: theme.radius.regular,\n borderBottomLeftRadius: theme.radius.regular\n },\n image: {\n flex: 1\n }\n });\n\nconst Choice = ({\n children,\n isSelected = false,\n squeezed = false,\n isDisabled,\n onPress,\n media,\n testID: prefixTestID,\n style,\n questionType\n}: Props) => {\n const templateContext = useTemplateContext();\n const {theme, brandTheme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme, squeezed);\n setStylesheet(_stylesheet);\n }, [theme, squeezed]);\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedSuffix = prefixTestID && isSelected ? '-selected' : '';\n const mediaType = media && media.type && media.type === 'img' && media.type.toLowerCase();\n const url =\n media &&\n media.type === 'img' &&\n media.src &&\n media.src.length > 0 &&\n getCleanUri(media.src[0].url);\n\n const source = {uri: url ? getCleanUri(url) : undefined};\n const mediaSuffix = prefixTestID && mediaType ? `-${mediaType}` : '';\n\n const textStyle: TextStyle[] = [styleSheet.text];\n const textWrapperStyle: ViewStyle[] = [styleSheet.textContainer];\n\n if (squeezed) {\n textWrapperStyle.push(styleSheet.squeezedTextContainer);\n }\n\n if (isSelected) {\n textStyle.push(styleSheet.textSelected);\n\n // eslint-disable-next-line @coorpacademy/coorpacademy/no-overwriting-spread\n const selectionStyle = brandTheme && {\n backgroundColor: brandTheme.colors?.primary,\n borderColor: brandTheme.colors?.primary,\n ...(url\n ? {\n borderTopRightRadius: theme.radius.regular,\n borderBottomRightRadius: theme.radius.regular\n }\n : {\n borderRadius: theme.radius.regular\n })\n };\n\n if (selectionStyle) {\n textWrapperStyle.push(selectionStyle);\n }\n }\n\n return (\n <Touchable\n onPress={!isDisabled ? onPress : undefined}\n style={style}\n analyticsID=\"question-choice\"\n analyticsParams={{questionType}}\n >\n <View\n style={[styleSheet.boxShadow, styleSheet.container]}\n testID={prefixTestID && `${prefixTestID}${selectedSuffix}`}\n >\n {url ? (\n <View style={styleSheet.imageContainer}>\n <ImageBackground\n testID={prefixTestID && `${prefixTestID}${mediaSuffix}`}\n source={source}\n style={styleSheet.image}\n />\n </View>\n ) : null}\n\n {children ? (\n <View style={textWrapperStyle}>\n <Html style={textStyle}>{children}</Html>\n </View>\n ) : null}\n </View>\n </Touchable>\n );\n};\n\nexport default Choice;\n"],"mappings":"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"}
|
|
@@ -91,8 +91,6 @@ const Html = props => {
|
|
|
91
91
|
numberOfLines: numberOfLines
|
|
92
92
|
}, _children), [numberOfLines]);
|
|
93
93
|
const FontRenderer = useCallback((htmlAttribs, _children) => {
|
|
94
|
-
var _htmlAttribs$color;
|
|
95
|
-
|
|
96
94
|
if (htmlAttribs.color) {
|
|
97
95
|
disableBaseFontStyleColor(true);
|
|
98
96
|
}
|
|
@@ -100,7 +98,7 @@ const Html = props => {
|
|
|
100
98
|
return /*#__PURE__*/React.createElement(Text, {
|
|
101
99
|
key: 1,
|
|
102
100
|
style: _extends({}, baseFontStyle, {
|
|
103
|
-
color:
|
|
101
|
+
color: htmlAttribs.color?.replace(/ /g, '')
|
|
104
102
|
})
|
|
105
103
|
}, _children);
|
|
106
104
|
}, [baseFontStyle]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useCallback","useState","View","RenderHTML","HTML_ANCHOR_TEXT_COLOR","useTemplateContext","Text","DEFAULT_STYLE","DEFAULT_TEXT_STYLE","HtmlBase","props","Html","templateContext","isDisabledBaseFontStyleColor","disableBaseFontStyleColor","theme","children","fontSize","containerStyle","imageStyle","style","testID","anchorTextColor","isTextCentered","numberOfLines","styles","p","marginVertical","textAlign","u","textDecorationLine","i","fontStyle","b","fontWeight","bold","s","tagsStyles","h1","h2","h3","h4","h5","h6","a","color","img","baseFontStyle","colors","black","Array","isArray","styleObject","reduce","result","child","SpanRenderer","htmlAttribs","_children","FontRenderer","replace","renderers","font","span","html","undefined"],"sources":["../../../src/atom/html/index.native.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport {View, ViewStyle, ImageStyle, TextStyle} from 'react-native';\nimport RenderHTML, {\n CustomRendererProps,\n MixedStyleRecord,\n RenderHTMLProps,\n TBlock\n} from 'react-native-render-html';\n\nimport {HTML_ANCHOR_TEXT_COLOR} from '../../variables/theme.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport Text, {DEFAULT_STYLE as DEFAULT_TEXT_STYLE} from '../text/index.native';\n\ninterface CustomRenderHTMLProps extends RenderHTMLProps {\n baseFontStyle?: TextStyle;\n testID?: string;\n}\n\nconst HtmlBase = (props: CustomRenderHTMLProps) => {\n return <RenderHTML {...props} />;\n};\n\nexport type Props = {\n children: string;\n fontSize?: TextStyle['fontSize'];\n numberOfLines?: number;\n onLinkPress?: (url: string) => void;\n containerStyle?: ViewStyle;\n anchorTextColor?: string;\n imageStyle?: ImageStyle;\n style?: ViewStyle | ViewStyle[];\n testID?: string;\n isTextCentered?: boolean;\n};\n\ntype Styles = {\n p: {\n marginVertical: ViewStyle['marginVertical'];\n textAlign: TextStyle['textAlign'];\n };\n u: {\n textDecorationLine: TextStyle['textDecorationLine'];\n };\n i: {\n fontStyle: TextStyle['fontStyle'];\n };\n b: {\n fontWeight: TextStyle['fontWeight'];\n };\n s: {\n textDecorationLine: TextStyle['textDecorationLine'];\n };\n};\n\nconst Html = (props: Props) => {\n const templateContext = useTemplateContext();\n const [isDisabledBaseFontStyleColor, disableBaseFontStyleColor] = useState<boolean>(false);\n const {theme} = templateContext;\n const {\n children,\n fontSize,\n containerStyle,\n imageStyle,\n style,\n testID,\n anchorTextColor = HTML_ANCHOR_TEXT_COLOR,\n isTextCentered,\n numberOfLines\n } = props;\n\n // Don't use StyleSheet there, it's not a react style\n const styles: Styles = {\n p: {\n marginVertical: 0,\n textAlign: 'center'\n },\n u: {\n textDecorationLine: 'underline'\n },\n i: {\n fontStyle: 'italic'\n },\n b: {\n fontWeight: theme.fontWeight.bold\n },\n s: {\n textDecorationLine: 'line-through'\n }\n };\n\n const tagsStyles: MixedStyleRecord = {\n ...styles,\n h1: {fontSize},\n h2: {fontSize},\n h3: {fontSize},\n h4: {fontSize},\n h5: {fontSize},\n h6: {fontSize},\n a: {color: anchorTextColor},\n img: imageStyle || {}\n };\n\n let baseFontStyle: TextStyle = {...DEFAULT_TEXT_STYLE, fontSize, color: theme.colors.black};\n if (style) {\n if (Array.isArray(style)) {\n const styleObject = style.reduce((result, child) => ({\n ...result,\n ...child\n }));\n baseFontStyle = {\n ...baseFontStyle,\n ...styleObject\n };\n } else {\n baseFontStyle = {\n ...baseFontStyle,\n ...style\n };\n }\n }\n\n const SpanRenderer = useCallback(\n (htmlAttribs: CustomRendererProps<TBlock>, _children: string) => (\n <Text numberOfLines={numberOfLines}>{_children}</Text>\n ),\n [numberOfLines]\n );\n\n interface HtmlAttrib extends CustomRendererProps<TBlock> {\n color?: string;\n }\n\n const FontRenderer = useCallback(\n (htmlAttribs: HtmlAttrib, _children: string) => {\n if (htmlAttribs.color) {\n disableBaseFontStyleColor(true);\n }\n\n return (\n <Text\n key={1}\n style={{\n ...baseFontStyle,\n color: htmlAttribs.color?.replace(/ /g, '')\n }}\n >\n {_children}\n </Text>\n );\n },\n [baseFontStyle]\n );\n\n const renderers = {\n font: FontRenderer,\n span: SpanRenderer\n };\n\n return (\n <View testID={testID} style={containerStyle}>\n <HtmlBase\n // to text-align center on android\n // we have to encapsulate between <p> tag\n // and use custom style define on <p>\n // definition in component style doesn't work\n source={{\n // eslint-disable-next-line no-nested-ternary\n html: isTextCentered\n ? `<p>${children}</p>`\n : numberOfLines\n ? `<span>${children}</span>`\n : `${children}`\n }}\n tagsStyles={tagsStyles}\n baseFontStyle={{\n ...baseFontStyle,\n color: isDisabledBaseFontStyleColor ? undefined : baseFontStyle.color\n }}\n renderers={renderers}\n // this is exceptionally for the onboarding course\n // is the only course that has a gif in the context but the img tag\n // comes with width & height attr and these makes this lib do not render the gif\n // so to avoid it, we decided to ignore these attr\n ignoredStyles={['width', 'height']}\n testID=\"html-base\"\n />\n </View>\n );\n};\n\nexport default Html;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,WAAf,EAA4BC,QAA5B,QAA2C,OAA3C;AACA,SAAQC,IAAR,QAAqD,cAArD;AACA,OAAOC,UAAP,MAKO,0BALP;AAOA,SAAQC,sBAAR,QAAqC,8BAArC;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;AACA,OAAOC,IAAP,IAAcC,aAAa,IAAIC,kBAA/B,QAAwD,sBAAxD;;AAOA,MAAMC,QAAQ,GAAIC,KAAD,IAAkC;EACjD,oBAAO,oBAAC,UAAD,EAAgBA,KAAhB,CAAP;AACD,CAFD;;AAoCA,MAAMC,IAAI,GAAID,KAAD,IAAkB;EAC7B,MAAME,eAAe,GAAGP,kBAAkB,EAA1C;EACA,MAAM,CAACQ,4BAAD,EAA+BC,yBAA/B,IAA4Db,QAAQ,CAAU,KAAV,CAA1E;EACA,MAAM;IAACc;EAAD,IAAUH,eAAhB;EACA,MAAM;IACJI,QADI;IAEJC,QAFI;IAGJC,cAHI;IAIJC,UAJI;IAKJC,KALI;IAMJC,MANI;IAOJC,eAAe,GAAGlB,sBAPd;IAQJmB,cARI;IASJC;EATI,IAUFd,KAVJ,CAJ6B,CAgB7B;;EACA,MAAMe,MAAc,GAAG;IACrBC,CAAC,EAAE;MACDC,cAAc,EAAE,CADf;MAEDC,SAAS,EAAE;IAFV,CADkB;IAKrBC,CAAC,EAAE;MACDC,kBAAkB,EAAE;IADnB,CALkB;IAQrBC,CAAC,EAAE;MACDC,SAAS,EAAE;IADV,CARkB;IAWrBC,CAAC,EAAE;MACDC,UAAU,EAAEnB,KAAK,CAACmB,UAAN,CAAiBC;IAD5B,CAXkB;IAcrBC,CAAC,EAAE;MACDN,kBAAkB,EAAE;IADnB;EAdkB,CAAvB;;EAmBA,MAAMO,UAA4B,gBAC7BZ,MAD6B;IAEhCa,EAAE,EAAE;MAACrB;IAAD,CAF4B;IAGhCsB,EAAE,EAAE;MAACtB;IAAD,CAH4B;IAIhCuB,EAAE,EAAE;MAACvB;IAAD,CAJ4B;IAKhCwB,EAAE,EAAE;MAACxB;IAAD,CAL4B;IAMhCyB,EAAE,EAAE;MAACzB;IAAD,CAN4B;IAOhC0B,EAAE,EAAE;MAAC1B;IAAD,CAP4B;IAQhC2B,CAAC,EAAE;MAACC,KAAK,EAAEvB;IAAR,CAR6B;IAShCwB,GAAG,EAAE3B,UAAU,IAAI;EATa,EAAlC;;EAYA,IAAI4B,aAAwB,gBAAOvC,kBAAP;IAA2BS,QAA3B;IAAqC4B,KAAK,EAAE9B,KAAK,CAACiC,MAAN,CAAaC;EAAzD,EAA5B;;EACA,IAAI7B,KAAJ,EAAW;IACT,IAAI8B,KAAK,CAACC,OAAN,CAAc/B,KAAd,CAAJ,EAA0B;MACxB,MAAMgC,WAAW,GAAGhC,KAAK,CAACiC,MAAN,CAAa,CAACC,MAAD,EAASC,KAAT,kBAC5BD,MAD4B,EAE5BC,KAF4B,CAAb,CAApB;MAIAR,aAAa,gBACRA,aADQ,EAERK,WAFQ,CAAb;IAID,CATD,MASO;MACLL,aAAa,gBACRA,aADQ,EAER3B,KAFQ,CAAb;IAID;EACF;;EAED,MAAMoC,YAAY,GAAGxD,WAAW,CAC9B,CAACyD,WAAD,EAA2CC,SAA3C,kBACE,oBAAC,IAAD;IAAM,aAAa,EAAElC;EAArB,GAAqCkC,SAArC,CAF4B,EAI9B,CAAClC,aAAD,CAJ8B,CAAhC;EAWA,MAAMmC,YAAY,GAAG3D,WAAW,CAC9B,CAACyD,WAAD,EAA0BC,SAA1B,KAAgD;
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useCallback","useState","View","RenderHTML","HTML_ANCHOR_TEXT_COLOR","useTemplateContext","Text","DEFAULT_STYLE","DEFAULT_TEXT_STYLE","HtmlBase","props","Html","templateContext","isDisabledBaseFontStyleColor","disableBaseFontStyleColor","theme","children","fontSize","containerStyle","imageStyle","style","testID","anchorTextColor","isTextCentered","numberOfLines","styles","p","marginVertical","textAlign","u","textDecorationLine","i","fontStyle","b","fontWeight","bold","s","tagsStyles","h1","h2","h3","h4","h5","h6","a","color","img","baseFontStyle","colors","black","Array","isArray","styleObject","reduce","result","child","SpanRenderer","htmlAttribs","_children","FontRenderer","replace","renderers","font","span","html","undefined"],"sources":["../../../src/atom/html/index.native.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport {View, ViewStyle, ImageStyle, TextStyle} from 'react-native';\nimport RenderHTML, {\n CustomRendererProps,\n MixedStyleRecord,\n RenderHTMLProps,\n TBlock\n} from 'react-native-render-html';\n\nimport {HTML_ANCHOR_TEXT_COLOR} from '../../variables/theme.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport Text, {DEFAULT_STYLE as DEFAULT_TEXT_STYLE} from '../text/index.native';\n\ninterface CustomRenderHTMLProps extends RenderHTMLProps {\n baseFontStyle?: TextStyle;\n testID?: string;\n}\n\nconst HtmlBase = (props: CustomRenderHTMLProps) => {\n return <RenderHTML {...props} />;\n};\n\nexport type Props = {\n children: string;\n fontSize?: TextStyle['fontSize'];\n numberOfLines?: number;\n onLinkPress?: (url: string) => void;\n containerStyle?: ViewStyle;\n anchorTextColor?: string;\n imageStyle?: ImageStyle;\n style?: ViewStyle | ViewStyle[];\n testID?: string;\n isTextCentered?: boolean;\n};\n\ntype Styles = {\n p: {\n marginVertical: ViewStyle['marginVertical'];\n textAlign: TextStyle['textAlign'];\n };\n u: {\n textDecorationLine: TextStyle['textDecorationLine'];\n };\n i: {\n fontStyle: TextStyle['fontStyle'];\n };\n b: {\n fontWeight: TextStyle['fontWeight'];\n };\n s: {\n textDecorationLine: TextStyle['textDecorationLine'];\n };\n};\n\nconst Html = (props: Props) => {\n const templateContext = useTemplateContext();\n const [isDisabledBaseFontStyleColor, disableBaseFontStyleColor] = useState<boolean>(false);\n const {theme} = templateContext;\n const {\n children,\n fontSize,\n containerStyle,\n imageStyle,\n style,\n testID,\n anchorTextColor = HTML_ANCHOR_TEXT_COLOR,\n isTextCentered,\n numberOfLines\n } = props;\n\n // Don't use StyleSheet there, it's not a react style\n const styles: Styles = {\n p: {\n marginVertical: 0,\n textAlign: 'center'\n },\n u: {\n textDecorationLine: 'underline'\n },\n i: {\n fontStyle: 'italic'\n },\n b: {\n fontWeight: theme.fontWeight.bold\n },\n s: {\n textDecorationLine: 'line-through'\n }\n };\n\n const tagsStyles: MixedStyleRecord = {\n ...styles,\n h1: {fontSize},\n h2: {fontSize},\n h3: {fontSize},\n h4: {fontSize},\n h5: {fontSize},\n h6: {fontSize},\n a: {color: anchorTextColor},\n img: imageStyle || {}\n };\n\n let baseFontStyle: TextStyle = {...DEFAULT_TEXT_STYLE, fontSize, color: theme.colors.black};\n if (style) {\n if (Array.isArray(style)) {\n const styleObject = style.reduce((result, child) => ({\n ...result,\n ...child\n }));\n baseFontStyle = {\n ...baseFontStyle,\n ...styleObject\n };\n } else {\n baseFontStyle = {\n ...baseFontStyle,\n ...style\n };\n }\n }\n\n const SpanRenderer = useCallback(\n (htmlAttribs: CustomRendererProps<TBlock>, _children: string) => (\n <Text numberOfLines={numberOfLines}>{_children}</Text>\n ),\n [numberOfLines]\n );\n\n interface HtmlAttrib extends CustomRendererProps<TBlock> {\n color?: string;\n }\n\n const FontRenderer = useCallback(\n (htmlAttribs: HtmlAttrib, _children: string) => {\n if (htmlAttribs.color) {\n disableBaseFontStyleColor(true);\n }\n\n return (\n <Text\n key={1}\n style={{\n ...baseFontStyle,\n color: htmlAttribs.color?.replace(/ /g, '')\n }}\n >\n {_children}\n </Text>\n );\n },\n [baseFontStyle]\n );\n\n const renderers = {\n font: FontRenderer,\n span: SpanRenderer\n };\n\n return (\n <View testID={testID} style={containerStyle}>\n <HtmlBase\n // to text-align center on android\n // we have to encapsulate between <p> tag\n // and use custom style define on <p>\n // definition in component style doesn't work\n source={{\n // eslint-disable-next-line no-nested-ternary\n html: isTextCentered\n ? `<p>${children}</p>`\n : numberOfLines\n ? `<span>${children}</span>`\n : `${children}`\n }}\n tagsStyles={tagsStyles}\n baseFontStyle={{\n ...baseFontStyle,\n color: isDisabledBaseFontStyleColor ? undefined : baseFontStyle.color\n }}\n renderers={renderers}\n // this is exceptionally for the onboarding course\n // is the only course that has a gif in the context but the img tag\n // comes with width & height attr and these makes this lib do not render the gif\n // so to avoid it, we decided to ignore these attr\n ignoredStyles={['width', 'height']}\n testID=\"html-base\"\n />\n </View>\n );\n};\n\nexport default Html;\n"],"mappings":"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"}
|
|
@@ -6,66 +6,62 @@ import { HEADER_HEIGHT } from '../../organism/header-v2/index.native';
|
|
|
6
6
|
import Touchable from '../../hoc/touchable/index.native';
|
|
7
7
|
import Html from '../html/index.native';
|
|
8
8
|
|
|
9
|
-
const createStyleSheet = (brandTheme, theme) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
color: '#fff'
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
};
|
|
9
|
+
const createStyleSheet = (brandTheme, theme) => StyleSheet.create({
|
|
10
|
+
container: {
|
|
11
|
+
backgroundColor: theme.colors.white,
|
|
12
|
+
justifyContent: 'space-between',
|
|
13
|
+
flex: 1,
|
|
14
|
+
padding: 20,
|
|
15
|
+
paddingTop: HEADER_HEIGHT + 20
|
|
16
|
+
},
|
|
17
|
+
title: {
|
|
18
|
+
height: 72,
|
|
19
|
+
width: 268,
|
|
20
|
+
fontSize: theme.fontSize.xxlarge,
|
|
21
|
+
fontWeight: theme.fontWeight.bold,
|
|
22
|
+
lineHeight: 36,
|
|
23
|
+
color: theme.colors.text.primary,
|
|
24
|
+
marginBottom: theme.spacing.small
|
|
25
|
+
},
|
|
26
|
+
text: {
|
|
27
|
+
fontSize: theme.fontSize.large,
|
|
28
|
+
color: theme.colors.text.primary,
|
|
29
|
+
opacity: 0.7,
|
|
30
|
+
marginBottom: theme.spacing.small
|
|
31
|
+
},
|
|
32
|
+
tip: {
|
|
33
|
+
flexDirection: 'row',
|
|
34
|
+
overflow: 'hidden',
|
|
35
|
+
alignItems: 'center',
|
|
36
|
+
height: 54,
|
|
37
|
+
borderRadius: 8,
|
|
38
|
+
backgroundColor: theme.colors.gray.extra,
|
|
39
|
+
marginTop: theme.spacing.micro,
|
|
40
|
+
marginBottom: theme.spacing.micro
|
|
41
|
+
},
|
|
42
|
+
tipText: {
|
|
43
|
+
fontSize: 16,
|
|
44
|
+
lineHeight: 22,
|
|
45
|
+
color: theme.colors.text.primary
|
|
46
|
+
},
|
|
47
|
+
icon: {
|
|
48
|
+
margin: 10
|
|
49
|
+
},
|
|
50
|
+
button: {
|
|
51
|
+
height: 52,
|
|
52
|
+
borderRadius: 7,
|
|
53
|
+
marginBottom: theme.spacing.large,
|
|
54
|
+
marginTop: theme.spacing.large,
|
|
55
|
+
backgroundColor: brandTheme?.colors?.primary || theme.colors.cta,
|
|
56
|
+
justifyContent: 'center'
|
|
57
|
+
},
|
|
58
|
+
buttonText: {
|
|
59
|
+
alignSelf: 'center',
|
|
60
|
+
fontWeight: theme.fontWeight.bold,
|
|
61
|
+
fontSize: theme.fontSize.large,
|
|
62
|
+
color: '#fff'
|
|
63
|
+
}
|
|
64
|
+
});
|
|
69
65
|
|
|
70
66
|
const Tip = props => {
|
|
71
67
|
const templateContext = useTemplateContext();
|
|
@@ -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","HEADER_HEIGHT","Touchable","Html","createStyleSheet","brandTheme","theme","create","container","backgroundColor","colors","white","justifyContent","flex","padding","paddingTop","title","height","width","fontSize","xxlarge","fontWeight","bold","lineHeight","color","text","primary","marginBottom","spacing","small","large","opacity","tip","flexDirection","overflow","alignItems","borderRadius","gray","extra","marginTop","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 {HEADER_HEIGHT} from '../../organism/header-v2/index.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 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: HEADER_HEIGHT + 20\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: theme.spacing.small\n },\n text: {\n fontSize: theme.fontSize.large,\n color: theme.colors.text.primary,\n opacity: 0.7,\n marginBottom: theme.spacing.small\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: theme.spacing.large,\n marginTop: theme.spacing.large,\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 <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 <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","HEADER_HEIGHT","Touchable","Html","createStyleSheet","brandTheme","theme","create","container","backgroundColor","colors","white","justifyContent","flex","padding","paddingTop","title","height","width","fontSize","xxlarge","fontWeight","bold","lineHeight","color","text","primary","marginBottom","spacing","small","large","opacity","tip","flexDirection","overflow","alignItems","borderRadius","gray","extra","marginTop","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 {HEADER_HEIGHT} from '../../organism/header-v2/index.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 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: HEADER_HEIGHT + 20\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: theme.spacing.small\n },\n text: {\n fontSize: theme.fontSize.large,\n color: theme.colors.text.primary,\n opacity: 0.7,\n marginBottom: theme.spacing.small\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: theme.spacing.large,\n marginTop: theme.spacing.large,\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 <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 <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,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { TextStyle } from 'react-native';
|
|
2
|
+
import { TextStyle, StyleProp } from 'react-native';
|
|
3
3
|
export declare type Props = {
|
|
4
4
|
children: React.ReactNode;
|
|
5
|
-
style?: TextStyle
|
|
5
|
+
style?: StyleProp<TextStyle>;
|
|
6
6
|
testID?: string;
|
|
7
7
|
numberOfLines?: number;
|
|
8
8
|
allowFontScaling?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/text/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAyC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/text/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAyC,SAAS,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAE1F,oBAAY,KAAK,GAAG;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,aAAa;;CAMzB,CAAC;AAQF,QAAA,MAAM,IAAI,UAAW,KAAK,gBAqBzB,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","Text","TextBase","Platform","StyleSheet","DEFAULT_STYLE","select","android","fontFamily","styles","create","text","props","children","style","testID","numberOfLines","allowFontScaling","accessibilityLabel"],"sources":["../../../src/atom/text/index.native.tsx"],"sourcesContent":["import * as React from 'react';\nimport {Text as TextBase, Platform, StyleSheet, TextStyle} from 'react-native';\n\nexport type Props = {\n
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","Text","TextBase","Platform","StyleSheet","DEFAULT_STYLE","select","android","fontFamily","styles","create","text","props","children","style","testID","numberOfLines","allowFontScaling","accessibilityLabel"],"sources":["../../../src/atom/text/index.native.tsx"],"sourcesContent":["import * as React from 'react';\nimport {Text as TextBase, Platform, StyleSheet, TextStyle, StyleProp} from 'react-native';\n\nexport type Props = {\n children: React.ReactNode;\n style?: StyleProp<TextStyle>;\n testID?: string;\n numberOfLines?: number;\n allowFontScaling?: boolean;\n accessibilityLabel?: string;\n};\n\nexport const DEFAULT_STYLE = {\n ...Platform.select({\n android: {\n fontFamily: 'Roboto'\n }\n })\n};\n\nconst styles = StyleSheet.create({\n text: {\n ...DEFAULT_STYLE\n }\n});\n\nconst Text = (props: Props) => {\n const {\n children,\n style,\n testID,\n numberOfLines,\n allowFontScaling = true,\n accessibilityLabel\n } = props;\n\n return (\n <TextBase\n allowFontScaling={allowFontScaling}\n style={[styles.text, style]}\n testID={testID}\n numberOfLines={numberOfLines}\n accessibilityLabel={accessibilityLabel}\n >\n {children}\n </TextBase>\n );\n};\n\nexport default Text;\n"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAAQC,IAAI,IAAIC,QAAhB,EAA0BC,QAA1B,EAAoCC,UAApC,QAA2E,cAA3E;AAWA,OAAO,MAAMC,aAAa,gBACrBF,QAAQ,CAACG,MAAT,CAAgB;EACjBC,OAAO,EAAE;IACPC,UAAU,EAAE;EADL;AADQ,CAAhB,CADqB,CAAnB;AAQP,MAAMC,MAAM,GAAGL,UAAU,CAACM,MAAX,CAAkB;EAC/BC,IAAI,eACCN,aADD;AAD2B,CAAlB,CAAf;;AAMA,MAAMJ,IAAI,GAAIW,KAAD,IAAkB;EAC7B,MAAM;IACJC,QADI;IAEJC,KAFI;IAGJC,MAHI;IAIJC,aAJI;IAKJC,gBAAgB,GAAG,IALf;IAMJC;EANI,IAOFN,KAPJ;EASA,oBACE,oBAAC,QAAD;IACE,gBAAgB,EAAEK,gBADpB;IAEE,KAAK,EAAE,CAACR,MAAM,CAACE,IAAR,EAAcG,KAAd,CAFT;IAGE,MAAM,EAAEC,MAHV;IAIE,aAAa,EAAEC,aAJjB;IAKE,kBAAkB,EAAEE;EALtB,GAOGL,QAPH,CADF;AAWD,CArBD;;AAuBA,eAAeZ,IAAf"}
|
|
@@ -38,7 +38,7 @@ const createRenderItem = (value, testID, onChange) => function Item({
|
|
|
38
38
|
|
|
39
39
|
const createSeparator = styleSheet => function Separator() {
|
|
40
40
|
return /*#__PURE__*/React.createElement(View, {
|
|
41
|
-
style: styleSheet
|
|
41
|
+
style: styleSheet?.separator
|
|
42
42
|
});
|
|
43
43
|
};
|
|
44
44
|
|
|
@@ -69,7 +69,7 @@ const ModalSelect = props => {
|
|
|
69
69
|
|
|
70
70
|
return /*#__PURE__*/React.createElement(Modal, {
|
|
71
71
|
onClose: onClose,
|
|
72
|
-
contentStyle: styleSheet
|
|
72
|
+
contentStyle: styleSheet?.content,
|
|
73
73
|
testID: testID
|
|
74
74
|
}, /*#__PURE__*/React.createElement(FlatList, {
|
|
75
75
|
data: values,
|
|
@@ -77,7 +77,7 @@ const ModalSelect = props => {
|
|
|
77
77
|
keyExtractor: keyExtractor,
|
|
78
78
|
showsVerticalScrollIndicator: false,
|
|
79
79
|
ItemSeparatorComponent: renderSeparator,
|
|
80
|
-
style: styleSheet
|
|
80
|
+
style: styleSheet?.list,
|
|
81
81
|
testID: `${testID}-items`
|
|
82
82
|
}));
|
|
83
83
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useState","useEffect","useMemo","View","FlatList","StyleSheet","useTemplateContext","Modal","ModalSelectItem","createStyleSheet","theme","create","content","paddingHorizontal","separator","borderTopWidth","borderColor","colors","border","list","width","keyExtractor","item","index","createRenderItem","value","testID","onChange","Item","handleChange","_value","text","createSeparator","styleSheet","Separator","ModalSelect","props","templateContext","setStylesheet","values","onClose","_stylesheet","renderItem","renderSeparator"],"sources":["../../../../src/hoc/modal/select/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect, useMemo} from 'react';\nimport {View, FlatList, StyleSheet, GestureResponderEvent, ViewStyle} from 'react-native';\nimport {noop} from 'lodash/fp';\n\nimport {Theme} from '../../../variables/theme.native';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\n\nimport Modal from '../index.native';\nimport ModalSelectItem from '../select-item/index.native';\nimport {ChoiceItem} from '../../../atom/select-modal/index.native';\n\nexport type OnChangeFunction = (value: string) => void;\n\nexport type Props = {\n value?: string;\n values: Array<ChoiceItem> | undefined;\n onChange: OnChangeFunction;\n onClose?: (event: GestureResponderEvent) => void;\n testID?: string;\n};\n\ntype StyleSheetType = {\n content: ViewStyle;\n separator: ViewStyle;\n list: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n content: {\n paddingHorizontal: 0\n },\n separator: {\n borderTopWidth: 1,\n borderColor: theme.colors.border\n },\n list: {\n width: '100%'\n }\n });\n\nconst keyExtractor = (item: ChoiceItem, index: number): string => {\n return `modal-select-item-${index + 1}`;\n};\n\ntype ItemProps = {item: ChoiceItem; index: number};\nconst createRenderItem = (value: string, testID: string, onChange: OnChangeFunction) =>\n function Item({item, index}: ItemProps) {\n // eslint-disable-next-line unicorn/consistent-function-scoping\n const handleChange = (_value: string) => () => onChange(_value);\n\n return (\n <ModalSelectItem\n onPress={handleChange(item.text)}\n isSelected={value === item.text}\n testID={`${testID}-item-${index + 1}`}\n >\n {item.text}\n </ModalSelectItem>\n );\n };\n\nconst createSeparator = (styleSheet: StyleSheetType) =>\n function Separator() {\n return <View style={styleSheet?.separator} />;\n };\n\nconst ModalSelect = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n const {value = '', values, onChange, onClose = noop, testID = 'modal-select'} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const renderItem = useMemo(\n () => createRenderItem(value, testID, onChange),\n [value, testID, onChange]\n );\n\n const renderSeparator = useMemo(\n () => (styleSheet ? createSeparator(styleSheet) : null),\n [styleSheet]\n );\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <Modal onClose={onClose} contentStyle={styleSheet?.content} testID={testID}>\n <FlatList\n data={values}\n renderItem={renderItem}\n keyExtractor={keyExtractor}\n showsVerticalScrollIndicator={false}\n ItemSeparatorComponent={renderSeparator}\n style={styleSheet?.list}\n testID={`${testID}-items`}\n />\n </Modal>\n );\n};\n\nexport default ModalSelect;\n"],"mappings":";AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,EAAoCC,OAApC,QAAkD,OAAlD;AACA,SAAQC,IAAR,EAAcC,QAAd,EAAwBC,UAAxB,QAA2E,cAA3E;AAIA,SAAQC,kBAAR,QAAiC,+CAAjC;AAEA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,eAAP,MAA4B,6BAA5B;;AAmBA,MAAMC,gBAAgB,GAAIC,KAAD,IACvBL,UAAU,CAACM,MAAX,CAAkB;EAChBC,OAAO,EAAE;IACPC,iBAAiB,EAAE;EADZ,CADO;EAIhBC,SAAS,EAAE;IACTC,cAAc,EAAE,CADP;IAETC,WAAW,EAAEN,KAAK,CAACO,MAAN,CAAaC;EAFjB,CAJK;EAQhBC,IAAI,EAAE;IACJC,KAAK,EAAE;EADH;AARU,CAAlB,CADF;;AAcA,MAAMC,YAAY,GAAG,CAACC,IAAD,EAAmBC,KAAnB,KAA6C;EAChE,OAAQ,qBAAoBA,KAAK,GAAG,CAAE,EAAtC;AACD,CAFD;;AAKA,MAAMC,gBAAgB,GAAG,CAACC,KAAD,EAAgBC,MAAhB,EAAgCC,QAAhC,KACvB,SAASC,IAAT,CAAc;EAACN,IAAD;EAAOC;AAAP,CAAd,EAAwC;EACtC;EACA,MAAMM,YAAY,GAAIC,MAAD,IAAoB,MAAMH,QAAQ,CAACG,MAAD,CAAvD;;EAEA,oBACE,oBAAC,eAAD;IACE,OAAO,EAAED,YAAY,CAACP,IAAI,CAACS,IAAN,CADvB;IAEE,UAAU,EAAEN,KAAK,KAAKH,IAAI,CAACS,IAF7B;IAGE,MAAM,EAAG,GAAEL,MAAO,SAAQH,KAAK,GAAG,CAAE;EAHtC,GAKGD,IAAI,CAACS,IALR,CADF;AASD,CAdH;;AAgBA,MAAMC,eAAe,GAAIC,UAAD,IACtB,SAASC,SAAT,GAAqB;EACnB,oBAAO,oBAAC,IAAD;IAAM,KAAK,EAAED,
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useState","useEffect","useMemo","View","FlatList","StyleSheet","useTemplateContext","Modal","ModalSelectItem","createStyleSheet","theme","create","content","paddingHorizontal","separator","borderTopWidth","borderColor","colors","border","list","width","keyExtractor","item","index","createRenderItem","value","testID","onChange","Item","handleChange","_value","text","createSeparator","styleSheet","Separator","ModalSelect","props","templateContext","setStylesheet","values","onClose","_stylesheet","renderItem","renderSeparator"],"sources":["../../../../src/hoc/modal/select/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect, useMemo} from 'react';\nimport {View, FlatList, StyleSheet, GestureResponderEvent, ViewStyle} from 'react-native';\nimport {noop} from 'lodash/fp';\n\nimport {Theme} from '../../../variables/theme.native';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\n\nimport Modal from '../index.native';\nimport ModalSelectItem from '../select-item/index.native';\nimport {ChoiceItem} from '../../../atom/select-modal/index.native';\n\nexport type OnChangeFunction = (value: string) => void;\n\nexport type Props = {\n value?: string;\n values: Array<ChoiceItem> | undefined;\n onChange: OnChangeFunction;\n onClose?: (event: GestureResponderEvent) => void;\n testID?: string;\n};\n\ntype StyleSheetType = {\n content: ViewStyle;\n separator: ViewStyle;\n list: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n content: {\n paddingHorizontal: 0\n },\n separator: {\n borderTopWidth: 1,\n borderColor: theme.colors.border\n },\n list: {\n width: '100%'\n }\n });\n\nconst keyExtractor = (item: ChoiceItem, index: number): string => {\n return `modal-select-item-${index + 1}`;\n};\n\ntype ItemProps = {item: ChoiceItem; index: number};\nconst createRenderItem = (value: string, testID: string, onChange: OnChangeFunction) =>\n function Item({item, index}: ItemProps) {\n // eslint-disable-next-line unicorn/consistent-function-scoping\n const handleChange = (_value: string) => () => onChange(_value);\n\n return (\n <ModalSelectItem\n onPress={handleChange(item.text)}\n isSelected={value === item.text}\n testID={`${testID}-item-${index + 1}`}\n >\n {item.text}\n </ModalSelectItem>\n );\n };\n\nconst createSeparator = (styleSheet: StyleSheetType) =>\n function Separator() {\n return <View style={styleSheet?.separator} />;\n };\n\nconst ModalSelect = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n const {value = '', values, onChange, onClose = noop, testID = 'modal-select'} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const renderItem = useMemo(\n () => createRenderItem(value, testID, onChange),\n [value, testID, onChange]\n );\n\n const renderSeparator = useMemo(\n () => (styleSheet ? createSeparator(styleSheet) : null),\n [styleSheet]\n );\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <Modal onClose={onClose} contentStyle={styleSheet?.content} testID={testID}>\n <FlatList\n data={values}\n renderItem={renderItem}\n keyExtractor={keyExtractor}\n showsVerticalScrollIndicator={false}\n ItemSeparatorComponent={renderSeparator}\n style={styleSheet?.list}\n testID={`${testID}-items`}\n />\n </Modal>\n );\n};\n\nexport default ModalSelect;\n"],"mappings":"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"}
|
|
@@ -4,23 +4,19 @@ import Text from '../../../atom/text/index.native';
|
|
|
4
4
|
import Touchable from '../../touchable/index.native';
|
|
5
5
|
import { useTemplateContext } from '../../../template/app-review/template-context';
|
|
6
6
|
|
|
7
|
-
const createStyleSheet = (brandTheme, theme) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
color: brandTheme == null ? void 0 : (_brandTheme$colors = brandTheme.colors) == null ? void 0 : _brandTheme$colors.primary
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
};
|
|
7
|
+
const createStyleSheet = (brandTheme, theme) => StyleSheet.create({
|
|
8
|
+
container: {
|
|
9
|
+
backgroundColor: theme.colors.white,
|
|
10
|
+
padding: theme.spacing.small
|
|
11
|
+
},
|
|
12
|
+
text: {
|
|
13
|
+
fontWeight: theme.fontWeight.bold,
|
|
14
|
+
color: theme.colors.black
|
|
15
|
+
},
|
|
16
|
+
selectedTextStyle: {
|
|
17
|
+
color: brandTheme?.colors?.primary
|
|
18
|
+
}
|
|
19
|
+
});
|
|
24
20
|
|
|
25
21
|
const ModalSelectItem = props => {
|
|
26
22
|
const templateContext = useTemplateContext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useState","useEffect","StyleSheet","Text","Touchable","useTemplateContext","createStyleSheet","brandTheme","theme","create","container","backgroundColor","colors","white","padding","spacing","small","text","fontWeight","bold","color","black","selectedTextStyle","primary","ModalSelectItem","props","templateContext","styleSheet","setStylesheet","_stylesheet","children","onPress","isSelected","testID","textStyle","push"],"sources":["../../../../src/hoc/modal/select-item/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {GestureResponderEvent, StyleSheet, TextStyle, ViewStyle} from 'react-native';\n\nimport Text from '../../../atom/text/index.native';\nimport Touchable from '../../touchable/index.native';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\nimport {Theme} from '../../../variables/theme.native';\nimport {Brand} from '../../../variables/brand.native';\n\nexport type Props = {\n isSelected?: boolean;\n children: string;\n onPress?: (event: GestureResponderEvent) => void;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n text: TextStyle;\n selectedTextStyle: TextStyle;\n};\n\nconst createStyleSheet = (brandTheme: Brand, theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n backgroundColor: theme.colors.white,\n padding: theme.spacing.small\n },\n text: {\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.black\n },\n selectedTextStyle: {\n color: brandTheme?.colors?.primary\n }\n });\n\nconst ModalSelectItem = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [theme, brandTheme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const {children, onPress, isSelected, testID} = props;\n\n const textStyle: TextStyle[] = [styleSheet.text];\n if (isSelected) {\n textStyle.push(styleSheet.selectedTextStyle);\n }\n\n return (\n <Touchable onPress={onPress} style={styleSheet.container} testID={testID}>\n <Text style={textStyle}>{children}</Text>\n </Touchable>\n );\n};\n\nexport default ModalSelectItem;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,QAAyC,OAAzC;AACA,SAA+BC,UAA/B,QAAsE,cAAtE;AAEA,OAAOC,IAAP,MAAiB,iCAAjB;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,SAAQC,kBAAR,QAAiC,+CAAjC;;AAiBA,MAAMC,gBAAgB,GAAG,CAACC,UAAD,EAAoBC,KAApB
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useState","useEffect","StyleSheet","Text","Touchable","useTemplateContext","createStyleSheet","brandTheme","theme","create","container","backgroundColor","colors","white","padding","spacing","small","text","fontWeight","bold","color","black","selectedTextStyle","primary","ModalSelectItem","props","templateContext","styleSheet","setStylesheet","_stylesheet","children","onPress","isSelected","testID","textStyle","push"],"sources":["../../../../src/hoc/modal/select-item/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {GestureResponderEvent, StyleSheet, TextStyle, ViewStyle} from 'react-native';\n\nimport Text from '../../../atom/text/index.native';\nimport Touchable from '../../touchable/index.native';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\nimport {Theme} from '../../../variables/theme.native';\nimport {Brand} from '../../../variables/brand.native';\n\nexport type Props = {\n isSelected?: boolean;\n children: string;\n onPress?: (event: GestureResponderEvent) => void;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n text: TextStyle;\n selectedTextStyle: TextStyle;\n};\n\nconst createStyleSheet = (brandTheme: Brand, theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n backgroundColor: theme.colors.white,\n padding: theme.spacing.small\n },\n text: {\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.black\n },\n selectedTextStyle: {\n color: brandTheme?.colors?.primary\n }\n });\n\nconst ModalSelectItem = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [theme, brandTheme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const {children, onPress, isSelected, testID} = props;\n\n const textStyle: TextStyle[] = [styleSheet.text];\n if (isSelected) {\n textStyle.push(styleSheet.selectedTextStyle);\n }\n\n return (\n <Touchable onPress={onPress} style={styleSheet.container} testID={testID}>\n <Text style={textStyle}>{children}</Text>\n </Touchable>\n );\n};\n\nexport default ModalSelectItem;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,QAAyC,OAAzC;AACA,SAA+BC,UAA/B,QAAsE,cAAtE;AAEA,OAAOC,IAAP,MAAiB,iCAAjB;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,SAAQC,kBAAR,QAAiC,+CAAjC;;AAiBA,MAAMC,gBAAgB,GAAG,CAACC,UAAD,EAAoBC,KAApB,KACvBN,UAAU,CAACO,MAAX,CAAkB;EAChBC,SAAS,EAAE;IACTC,eAAe,EAAEH,KAAK,CAACI,MAAN,CAAaC,KADrB;IAETC,OAAO,EAAEN,KAAK,CAACO,OAAN,CAAcC;EAFd,CADK;EAKhBC,IAAI,EAAE;IACJC,UAAU,EAAEV,KAAK,CAACU,UAAN,CAAiBC,IADzB;IAEJC,KAAK,EAAEZ,KAAK,CAACI,MAAN,CAAaS;EAFhB,CALU;EAShBC,iBAAiB,EAAE;IACjBF,KAAK,EAAEb,UAAU,EAAEK,MAAZ,EAAoBW;EADV;AATH,CAAlB,CADF;;AAeA,MAAMC,eAAe,GAAIC,KAAD,IAAkB;EACxC,MAAMC,eAAe,GAAGrB,kBAAkB,EAA1C;EACA,MAAM,CAACsB,UAAD,EAAaC,aAAb,IAA8B5B,QAAQ,CAAwB,IAAxB,CAA5C;EACA,MAAM;IAACO,UAAD;IAAaC;EAAb,IAAsBkB,eAA5B;EAEAzB,SAAS,CAAC,MAAM;IACd,MAAM4B,WAAW,GAAGvB,gBAAgB,CAACC,UAAD,EAAaC,KAAb,CAApC;;IACAoB,aAAa,CAACC,WAAD,CAAb;EACD,CAHQ,EAGN,CAACrB,KAAD,EAAQD,UAAR,CAHM,CAAT;;EAKA,IAAI,CAACoB,UAAL,EAAiB;IACf,OAAO,IAAP;EACD;;EAED,MAAM;IAACG,QAAD;IAAWC,OAAX;IAAoBC,UAApB;IAAgCC;EAAhC,IAA0CR,KAAhD;EAEA,MAAMS,SAAsB,GAAG,CAACP,UAAU,CAACV,IAAZ,CAA/B;;EACA,IAAIe,UAAJ,EAAgB;IACdE,SAAS,CAACC,IAAV,CAAeR,UAAU,CAACL,iBAA1B;EACD;;EAED,oBACE,oBAAC,SAAD;IAAW,OAAO,EAAES,OAApB;IAA6B,KAAK,EAAEJ,UAAU,CAACjB,SAA/C;IAA0D,MAAM,EAAEuB;EAAlE,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC;EAAb,GAAyBJ,QAAzB,CADF,CADF;AAKD,CA1BD;;AA4BA,eAAeN,eAAf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ViewStyle, LayoutChangeEvent, NativeSyntheticEvent, GestureResponderEvent, TargetedEvent } from 'react-native';
|
|
1
|
+
import { ViewStyle, LayoutChangeEvent, NativeSyntheticEvent, GestureResponderEvent, TargetedEvent, StyleProp } from 'react-native';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Analytics, AnalyticsEventParams } from '../../variables/analytics';
|
|
4
4
|
import { Vibration } from '../../variables/vibration';
|
|
@@ -22,7 +22,7 @@ export declare type Props = {
|
|
|
22
22
|
isHighlight?: boolean;
|
|
23
23
|
isWithoutFeedback?: boolean;
|
|
24
24
|
activeOpacity?: number;
|
|
25
|
-
style?: ViewStyle
|
|
25
|
+
style?: StyleProp<ViewStyle>;
|
|
26
26
|
analytics?: Analytics;
|
|
27
27
|
analyticsID?: string;
|
|
28
28
|
analyticsParams?: AnalyticsEventParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/hoc/touchable/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/hoc/touchable/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAgB,MAAM,OAAO,CAAC;AAErC,OAAO,EAAuB,SAAS,EAAE,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AASpD,oBAAY,KAAK,GAAG;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC9D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACjD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACnD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE7B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAeF,QAAA,MAAM,SAAS,UAAW,KAAK,gBAqE9B,CAAC;AAEF,eAAe,SAAS,CAAC"}
|