@coorpacademy/components 10.22.20 → 10.22.23
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/html/index.native.js +1 -1
- package/es/atom/html/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 +1 -1
- package/es/hoc/modal/select-item/index.native.js.map +1 -1
- package/es/hoc/touchable/index.native.js +2 -2
- package/es/hoc/touchable/index.native.js.map +1 -1
- package/es/molecule/cm-popin/style.css +1 -2
- package/es/molecule/dashboard/cards-list/index.js +7 -3
- package/es/molecule/dashboard/cards-list/index.js.map +1 -1
- package/es/molecule/questions/free-text/index.native.js +2 -2
- package/es/molecule/questions/free-text/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/slider/index.native.js +3 -3
- package/es/molecule/questions/mobile/slider/index.native.js.map +1 -1
- package/es/organism/review-congrats/index.js +3 -1
- package/es/organism/review-congrats/index.js.map +1 -1
- package/es/template/app-player/popin-correction/index.js +1 -0
- package/es/template/app-player/popin-correction/index.js.map +1 -1
- package/lib/atom/html/index.native.js +1 -1
- package/lib/atom/html/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 +1 -1
- package/lib/hoc/modal/select-item/index.native.js.map +1 -1
- package/lib/hoc/touchable/index.native.js +2 -2
- package/lib/hoc/touchable/index.native.js.map +1 -1
- package/lib/molecule/cm-popin/style.css +1 -2
- package/lib/molecule/dashboard/cards-list/index.js +7 -3
- package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
- package/lib/molecule/questions/free-text/index.native.js +2 -2
- package/lib/molecule/questions/free-text/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/slider/index.native.js +3 -3
- package/lib/molecule/questions/mobile/slider/index.native.js.map +1 -1
- package/lib/organism/review-congrats/index.js +3 -1
- package/lib/organism/review-congrats/index.js.map +1 -1
- package/lib/template/app-player/popin-correction/index.js +1 -0
- package/lib/template/app-player/popin-correction/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -27,7 +27,7 @@ const Html = props => {
|
|
|
27
27
|
onLinkPress
|
|
28
28
|
} = props;
|
|
29
29
|
const handleLinkPress = useMemo(() => url => {
|
|
30
|
-
vibration
|
|
30
|
+
vibration == null ? void 0 : vibration.vibrate();
|
|
31
31
|
onLinkPress && onLinkPress(url);
|
|
32
32
|
}, [onLinkPress, vibration]); // Don't use StyleSheet there, it's not a react style
|
|
33
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/html/index.native.tsx"],"names":["React","useMemo","useState","View","HtmlBase","HTML_ANCHOR_TEXT_COLOR","useTemplateContext","Text","DEFAULT_STYLE","DEFAULT_TEXT_STYLE","Html","props","disableBaseFontStyleColor","setDisableBaseFontStyleColor","templateContext","theme","vibration","children","fontSize","containerStyle","imageStyle","style","testID","anchorTextColor","isTextCentered","numberOfLines","onLinkPress","handleLinkPress","url","vibrate","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","renderers","font","htmlAttribs","_children","span","Span","_","convertedCSSStyles","allowFontScaling","key","html"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,EAAwBC,QAAxB,QAAuC,OAAvC;AACA,SAAQC,IAAR,QAAqD,cAArD;AACA,OAAOC,QAAP,MAAqB,0BAArB;AAEA,SAAQC,sBAAR,QAAqC,8BAArC;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;AACA,OAAOC,IAAP,IAAcC,aAAa,IAAIC,kBAA/B,QAAwD,sBAAxD;;AAeA,MAAMC,IAAI,GAAIC,KAAD,IAAkB;AAC7B,QAAM,CAACC,yBAAD,EAA4BC,4BAA5B,IAA4DX,QAAQ,CAAU,KAAV,CAA1E;AACA,QAAMY,eAAe,GAAGR,kBAAkB,EAA1C;AACA,QAAM;AAACS,IAAAA,KAAD;AAAQC,IAAAA;AAAR,MAAqBF,eAA3B;AACA,QAAM;AACJG,IAAAA,QADI;AAEJC,IAAAA,QAFI;AAGJC,IAAAA,cAHI;AAIJC,IAAAA,UAJI;AAKJC,IAAAA,KALI;AAMJC,IAAAA,MANI;AAOJC,IAAAA,eAAe,GAAGlB,sBAPd;AAQJmB,IAAAA,cARI;AASJC,IAAAA,aATI;AAUJC,IAAAA;AAVI,MAWFf,KAXJ;AAaA,QAAMgB,eAAe,GAAG1B,OAAO,CAC7B,MAAO2B,GAAD,IAAiB;AACrBZ,IAAAA,SAAS,
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/html/index.native.tsx"],"names":["React","useMemo","useState","View","HtmlBase","HTML_ANCHOR_TEXT_COLOR","useTemplateContext","Text","DEFAULT_STYLE","DEFAULT_TEXT_STYLE","Html","props","disableBaseFontStyleColor","setDisableBaseFontStyleColor","templateContext","theme","vibration","children","fontSize","containerStyle","imageStyle","style","testID","anchorTextColor","isTextCentered","numberOfLines","onLinkPress","handleLinkPress","url","vibrate","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","renderers","font","htmlAttribs","_children","span","Span","_","convertedCSSStyles","allowFontScaling","key","html"],"mappings":"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","sourcesContent":["import React, {useMemo, useState} from 'react';\nimport {View, ViewStyle, ImageStyle, TextStyle} from 'react-native';\nimport HtmlBase 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\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\nconst Html = (props: Props) => {\n const [disableBaseFontStyleColor, setDisableBaseFontStyleColor] = useState<boolean>(false);\n const templateContext = useTemplateContext();\n const {theme, vibration} = 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 onLinkPress\n } = props;\n\n const handleLinkPress = useMemo(\n () => (url: string) => {\n vibration?.vibrate();\n\n onLinkPress && onLinkPress(url);\n },\n [onLinkPress, vibration]\n );\n\n // Don't use StyleSheet there, it's not a react style\n const 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 = {\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 = {...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 renderers = {\n // eslint-disable-next-line react/display-name\n font: (htmlAttribs, _children) => {\n if (htmlAttribs.color) {\n setDisableBaseFontStyleColor(true);\n }\n return (\n <Text\n key={1}\n style={{\n ...baseFontStyle,\n color: htmlAttribs.color\n }}\n >\n {_children}\n </Text>\n );\n },\n span: function Span(\n _: any,\n _children: any,\n convertedCSSStyles: any,\n {allowFontScaling, key}: any\n ) {\n return (\n <Text\n numberOfLines={numberOfLines}\n allowFontScaling={allowFontScaling}\n key={key}\n style={convertedCSSStyles}\n >\n {_children}\n </Text>\n );\n }\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: disableBaseFontStyleColor ? null : baseFontStyle.color\n }}\n onLinkPress={handleLinkPress}\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"],"file":"index.native.js"}
|
|
@@ -38,7 +38,7 @@ const createRenderItem = (value, testID, onChange) => ({
|
|
|
38
38
|
|
|
39
39
|
const createSeparator = styleSheet => () => {
|
|
40
40
|
return /*#__PURE__*/React.createElement(View, {
|
|
41
|
-
style: styleSheet
|
|
41
|
+
style: styleSheet == null ? void 0 : 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 == null ? void 0 : 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 == null ? void 0 : styleSheet.list,
|
|
81
81
|
testID: `${testID}-items`
|
|
82
82
|
}));
|
|
83
83
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/hoc/modal/select/index.native.tsx"],"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","handleChange","_value","text","createSeparator","styleSheet","ModalSelect","props","templateContext","setStylesheet","values","onClose","_stylesheet","renderItem","renderSeparator"],"mappings":";AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,EAAoCC,OAApC,QAAkD,OAAlD;AACA,SAAQC,IAAR,EAAcC,QAAd,EAAwBC,UAAxB,QAAyC,cAAzC;AAMA,SAAQC,kBAAR,QAAiC,+CAAjC;AAEA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,eAAP,MAA4B,6BAA5B;;AAyBA,MAAMC,gBAAgB,GAAIC,KAAD,IACvBL,UAAU,CAACM,MAAX,CAAkB;AAChBC,EAAAA,OAAO,EAAE;AACPC,IAAAA,iBAAiB,EAAE;AADZ,GADO;AAIhBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,cAAc,EAAE,CADP;AAETC,IAAAA,WAAW,EAAEN,KAAK,CAACO,MAAN,CAAaC;AAFjB,GAJK;AAQhBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,EAAE;AADH;AARU,CAAlB,CADF;;AAcA,MAAMC,YAAY,GAAG,CAACC,IAAD,EAAmBC,KAAnB,KAA6C;AAChE,SAAQ,qBAAoBA,KAAK,GAAG,CAAE,EAAtC;AACD,CAFD;;AAIA,MAAMC,gBAAgB,GAAG,CAACC,KAAD,EAAgBC,MAAhB,EAAgCC,QAAhC,KAA+D,CAAC;AACvFL,EAAAA,IADuF;AAEvFC,EAAAA;AAFuF,CAAD,KAMlF;AACJ;AACA,QAAMK,YAAY,GAAIC,MAAD,IAAoB,MAAMF,QAAQ,CAACE,MAAD,CAAvD;;AAEA,sBACE,oBAAC,eAAD;AACE,IAAA,OAAO,EAAED,YAAY,CAACN,IAAI,CAACQ,IAAN,CADvB;AAEE,IAAA,UAAU,EAAEL,KAAK,KAAKH,IAAI,CAACQ,IAF7B;AAGE,IAAA,MAAM,EAAG,GAAEJ,MAAO,SAAQH,KAAK,GAAG,CAAE;AAHtC,KAKGD,IAAI,CAACQ,IALR,CADF;AASD,CAnBD;;AAqBA,MAAMC,eAAe,GAAIC,UAAD,IAAgC,MAAM;AAC5D,sBAAO,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEA,UAAU,
|
|
1
|
+
{"version":3,"sources":["../../../../src/hoc/modal/select/index.native.tsx"],"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","handleChange","_value","text","createSeparator","styleSheet","ModalSelect","props","templateContext","setStylesheet","values","onClose","_stylesheet","renderItem","renderSeparator"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useMemo} from 'react';\nimport {View, FlatList, StyleSheet} from 'react-native';\nimport {noop} from 'lodash/fp';\nimport type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport type {ChoiceItem} from '../../../types/progression-engine.d';\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';\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: PressEvent) => void;\n testID?: string;\n};\n\ntype StyleSheetType = {\n content: {\n paddingHorizontal: number;\n };\n separator: {\n borderTopWidth: number;\n borderColor: string;\n };\n list: {\n width: string;\n };\n};\n\nconst createStyleSheet = (theme: Theme) =>\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\nconst createRenderItem = (value: string, testID: String, onChange: OnChangeFunction) => ({\n item,\n index\n}: {\n item: ChoiceItem;\n index: number;\n}) => {\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 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(() => createRenderItem(value, testID, onChange), [\n value,\n testID,\n onChange\n ]);\n\n const renderSeparator = useMemo(() => (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"],"file":"index.native.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/hoc/modal/select-item/index.native.tsx"],"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"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,QAAyC,OAAzC;AACA,SAAQC,UAAR,QAAoC,cAApC;AAGA,OAAOC,IAAP,MAAiB,iCAAjB;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,SAAQC,kBAAR,QAAiC,+CAAjC;;AAwBA,MAAMC,gBAAgB,GAAG,CAACC,UAAD,EAAkBC,KAAlB,KACvBN,UAAU,CAACO,MAAX,CAAkB;AAChBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,eAAe,EAAEH,KAAK,CAACI,MAAN,CAAaC,KADrB;AAETC,IAAAA,OAAO,EAAEN,KAAK,CAACO,OAAN,CAAcC;AAFd,GADK;AAKhBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,UAAU,EAAEV,KAAK,CAACU,UAAN,CAAiBC,IADzB;AAEJC,IAAAA,KAAK,EAAEZ,KAAK,CAACI,MAAN,CAAaS;AAFhB,GALU;AAShBC,EAAAA,iBAAiB,EAAE;AACjBF,IAAAA,KAAK,EAAEb,UAAU,
|
|
1
|
+
{"version":3,"sources":["../../../../src/hoc/modal/select-item/index.native.tsx"],"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"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,QAAyC,OAAzC;AACA,SAAQC,UAAR,QAAoC,cAApC;AAGA,OAAOC,IAAP,MAAiB,iCAAjB;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,SAAQC,kBAAR,QAAiC,+CAAjC;;AAwBA,MAAMC,gBAAgB,GAAG,CAACC,UAAD,EAAkBC,KAAlB,KACvBN,UAAU,CAACO,MAAX,CAAkB;AAChBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,eAAe,EAAEH,KAAK,CAACI,MAAN,CAAaC,KADrB;AAETC,IAAAA,OAAO,EAAEN,KAAK,CAACO,OAAN,CAAcC;AAFd,GADK;AAKhBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,UAAU,EAAEV,KAAK,CAACU,UAAN,CAAiBC,IADzB;AAEJC,IAAAA,KAAK,EAAEZ,KAAK,CAACI,MAAN,CAAaS;AAFhB,GALU;AAShBC,EAAAA,iBAAiB,EAAE;AACjBF,IAAAA,KAAK,EAAEb,UAAF,oBAAEA,UAAU,CAAEK,MAAZ,CAAmBW;AADT;AATH,CAAlB,CADF;;AAeA,MAAMC,eAAe,GAAIC,KAAD,IAAkB;AACxC,QAAMC,eAAe,GAAGrB,kBAAkB,EAA1C;AACA,QAAM,CAACsB,UAAD,EAAaC,aAAb,IAA8B5B,QAAQ,CAAwB,IAAxB,CAA5C;AACA,QAAM;AAACO,IAAAA,UAAD;AAAaC,IAAAA;AAAb,MAAsBkB,eAA5B;AAEAzB,EAAAA,SAAS,CAAC,MAAM;AACd,UAAM4B,WAAW,GAAGvB,gBAAgB,CAACC,UAAD,EAAaC,KAAb,CAApC;;AACAoB,IAAAA,aAAa,CAACC,WAAD,CAAb;AACD,GAHQ,EAGN,CAACrB,KAAD,EAAQD,UAAR,CAHM,CAAT;;AAKA,MAAI,CAACoB,UAAL,EAAiB;AACf,WAAO,IAAP;AACD;;AAED,QAAM;AAACG,IAAAA,QAAD;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA,UAApB;AAAgCC,IAAAA;AAAhC,MAA0CR,KAAhD;AAEA,sBACE,oBAAC,SAAD;AAAW,IAAA,OAAO,EAAEM,OAApB;AAA6B,IAAA,KAAK,EAAEJ,UAAU,CAACjB,SAA/C;AAA0D,IAAA,MAAM,EAAEuB;AAAlE,kBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE,CAACN,UAAU,CAACV,IAAZ,EAAkBe,UAAU,IAAIL,UAAU,CAACL,iBAA3C;AAAb,KAA6EQ,QAA7E,CADF,CADF;AAKD,CArBD;;AAuBA,eAAeN,eAAf","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {StyleSheet, TextStyle} from 'react-native';\nimport type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';\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';\n\nexport type Props = {\n isSelected?: boolean;\n children: string;\n onPress?: (event: PressEvent) => any;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n backgroundColor: string;\n padding: number;\n };\n text: {\n fontWeight: TextStyle;\n color: string;\n };\n selectedTextStyle: {\n color: string;\n };\n};\n\nconst createStyleSheet = (brandTheme: any, theme: Theme) =>\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 return (\n <Touchable onPress={onPress} style={styleSheet.container} testID={testID}>\n <Text style={[styleSheet.text, isSelected && styleSheet.selectedTextStyle]}>{children}</Text>\n </Touchable>\n );\n};\n\nexport default ModalSelectItem;\n"],"file":"index.native.js"}
|
|
@@ -36,13 +36,13 @@ const Touchable = props => {
|
|
|
36
36
|
} = props;
|
|
37
37
|
const handlePress = useMemo(() => event => {
|
|
38
38
|
if (!onPress) return;
|
|
39
|
-
vibration
|
|
39
|
+
vibration == null ? void 0 : vibration.vibrate();
|
|
40
40
|
analytics && logEvent(ANALYTICS_EVENT_TYPE.PRESS, analyticsID, analytics, analyticsParams);
|
|
41
41
|
onPress(event);
|
|
42
42
|
}, [analytics, analyticsID, analyticsParams, onPress, vibration]);
|
|
43
43
|
const handleLongPress = useMemo(() => event => {
|
|
44
44
|
if (!onLongPress) return;
|
|
45
|
-
vibration
|
|
45
|
+
vibration == null ? void 0 : vibration.vibrate();
|
|
46
46
|
analytics && logEvent(ANALYTICS_EVENT_TYPE.LONG_PRESS, analyticsID, analytics, analyticsParams);
|
|
47
47
|
onLongPress(event);
|
|
48
48
|
}, [analytics, analyticsID, analyticsParams, onLongPress, vibration]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hoc/touchable/index.native.tsx"],"names":["TouchableOpacity","TouchableHighlight","React","useMemo","useTemplateContext","ANALYTICS_EVENT_TYPE","hitSlop","left","right","bottom","top","logEvent","eventName","analyticsID","analytics","analyticsParams","id","Touchable","props","templateContext","theme","vibration","onPress","onLongPress","isWithoutFeedback","isHighlight","activeOpacity","disabled","handlePress","event","vibrate","PRESS","handleLongPress","LONG_PRESS","colors","gray","light"],"mappings":";;AAAA,SAAQA,gBAAR,EAA0BC,kBAA1B,QAA8D,cAA9D;AAQA,OAAOC,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;AACA,SAAQC,oBAAR,QAAoE,2BAApE;AAGA,MAAMC,OAAO,GAAG;AACdC,EAAAA,IAAI,EAAE,EADQ;AAEdC,EAAAA,KAAK,EAAE,EAFO;AAGdC,EAAAA,MAAM,EAAE,EAHM;AAIdC,EAAAA,GAAG,EAAE;AAJS,CAAhB;;AAmCA,MAAMC,QAAQ,GAAG,CACfC,SADe,EAEfC,WAFe,EAGfC,SAHe,EAIfC,eAJe,KAKZ;AACHD,EAAAA,SAAS,IACPA,SAAS,CAACH,QAAV,CAAmBC,SAAnB,wBACMG,eAAe,IAAI,EADzB;AAEEC,IAAAA,EAAE,EAAEH;AAFN,KADF;AAKD,CAXD;;AAaA,MAAMI,SAAS,GAAIC,KAAD,IAAkB;AAClC,QAAMC,eAAe,GAAGf,kBAAkB,EAA1C;AAEA,QAAM;AAACgB,IAAAA,KAAD;AAAQC,IAAAA,SAAR;AAAmBP,IAAAA;AAAnB,MAAgCK,eAAtC;AAEA,QAAM;AACJN,IAAAA,WADI;AAEJE,IAAAA,eAFI;AAGJO,IAAAA,OAHI;AAIJC,IAAAA,WAJI;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,WANI;AAOJC,IAAAA,aAPI;AAQJC,IAAAA;AARI,MASFT,KATJ;AAWA,QAAMU,WAAW,GAAGzB,OAAO,CACzB,MAAO0B,KAAD,IAAuB;AAC3B,QAAI,CAACP,OAAL,EAAc;AAEdD,IAAAA,SAAS,
|
|
1
|
+
{"version":3,"sources":["../../../src/hoc/touchable/index.native.tsx"],"names":["TouchableOpacity","TouchableHighlight","React","useMemo","useTemplateContext","ANALYTICS_EVENT_TYPE","hitSlop","left","right","bottom","top","logEvent","eventName","analyticsID","analytics","analyticsParams","id","Touchable","props","templateContext","theme","vibration","onPress","onLongPress","isWithoutFeedback","isHighlight","activeOpacity","disabled","handlePress","event","vibrate","PRESS","handleLongPress","LONG_PRESS","colors","gray","light"],"mappings":";;AAAA,SAAQA,gBAAR,EAA0BC,kBAA1B,QAA8D,cAA9D;AAQA,OAAOC,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;AACA,SAAQC,oBAAR,QAAoE,2BAApE;AAGA,MAAMC,OAAO,GAAG;AACdC,EAAAA,IAAI,EAAE,EADQ;AAEdC,EAAAA,KAAK,EAAE,EAFO;AAGdC,EAAAA,MAAM,EAAE,EAHM;AAIdC,EAAAA,GAAG,EAAE;AAJS,CAAhB;;AAmCA,MAAMC,QAAQ,GAAG,CACfC,SADe,EAEfC,WAFe,EAGfC,SAHe,EAIfC,eAJe,KAKZ;AACHD,EAAAA,SAAS,IACPA,SAAS,CAACH,QAAV,CAAmBC,SAAnB,wBACMG,eAAe,IAAI,EADzB;AAEEC,IAAAA,EAAE,EAAEH;AAFN,KADF;AAKD,CAXD;;AAaA,MAAMI,SAAS,GAAIC,KAAD,IAAkB;AAClC,QAAMC,eAAe,GAAGf,kBAAkB,EAA1C;AAEA,QAAM;AAACgB,IAAAA,KAAD;AAAQC,IAAAA,SAAR;AAAmBP,IAAAA;AAAnB,MAAgCK,eAAtC;AAEA,QAAM;AACJN,IAAAA,WADI;AAEJE,IAAAA,eAFI;AAGJO,IAAAA,OAHI;AAIJC,IAAAA,WAJI;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,WANI;AAOJC,IAAAA,aAPI;AAQJC,IAAAA;AARI,MASFT,KATJ;AAWA,QAAMU,WAAW,GAAGzB,OAAO,CACzB,MAAO0B,KAAD,IAAuB;AAC3B,QAAI,CAACP,OAAL,EAAc;AAEdD,IAAAA,SAAS,QAAT,YAAAA,SAAS,CAAES,OAAX;AAEAhB,IAAAA,SAAS,IAAIH,QAAQ,CAACN,oBAAoB,CAAC0B,KAAtB,EAA6BlB,WAA7B,EAA0CC,SAA1C,EAAqDC,eAArD,CAArB;AACAO,IAAAA,OAAO,CAACO,KAAD,CAAP;AACD,GARwB,EASzB,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CO,OAA1C,EAAmDD,SAAnD,CATyB,CAA3B;AAYA,QAAMW,eAAe,GAAG7B,OAAO,CAC7B,MAAO0B,KAAD,IAAuB;AAC3B,QAAI,CAACN,WAAL,EAAkB;AAElBF,IAAAA,SAAS,QAAT,YAAAA,SAAS,CAAES,OAAX;AAEAhB,IAAAA,SAAS,IACPH,QAAQ,CAACN,oBAAoB,CAAC4B,UAAtB,EAAkCpB,WAAlC,EAA+CC,SAA/C,EAA0DC,eAA1D,CADV;AAEAQ,IAAAA,WAAW,CAACM,KAAD,CAAX;AACD,GAT4B,EAU7B,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CQ,WAA1C,EAAuDF,SAAvD,CAV6B,CAA/B;;AAaA,MAAII,WAAJ,EAAiB;AACf,wBACE,oBAAC,kBAAD,eACMP,KADN;AAEE,MAAA,OAAO,EAAEZ,OAFX;AAGE,MAAA,aAAa,EAAEc,KAAK,CAACc,MAAN,CAAaC,IAAb,CAAkBC,KAHnC;AAIE,MAAA,OAAO,EAAER,WAJX;AAKE,MAAA,WAAW,EAAEI,eALf;AAME,MAAA,aAAa,EAAEN,aAAa,KAAKC,QAAQ,GAAG,CAAH,GAAO,IAApB;AAN9B,OADF;AAUD;;AAED,sBACE,oBAAC,gBAAD,eACMT,KADN;AAEE,IAAA,OAAO,EAAEZ,OAFX;AAGE,IAAA,OAAO,EAAEsB,WAHX;AAIE,IAAA,WAAW,EAAEI,eAJf;AAKE,IAAA,aAAa,EAAGR,iBAAiB,IAAI,CAAtB,IAA4BE,aAA5B,KAA8CC,QAAQ,GAAG,CAAH,GAAO,GAA7D;AALjB,KADF;AASD,CA/DD;;AAiEA,eAAeV,SAAf","sourcesContent":["import {TouchableOpacity, TouchableHighlight, ViewStyle} from 'react-native';\nimport type {\n BlurEvent,\n LayoutEvent,\n FocusEvent,\n PressEvent\n} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport React, {useMemo} from 'react';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE, Analytics, AnalyticsEventParams} from '../../variables/analytics';\nimport {Vibration} from '../../variables/vibration';\n\nconst hitSlop = {\n left: 12,\n right: 12,\n bottom: 12,\n top: 12\n};\n\nexport type Props = {\n accessible?: boolean;\n children?: React.ReactNode;\n delayLongPress?: number;\n delayPressIn?: number;\n delayPressOut?: number;\n disabled?: boolean;\n focusable?: boolean;\n onBlur?: (event: BlurEvent) => any;\n onFocus?: (event: FocusEvent) => any;\n onLayout?: (event: LayoutEvent) => any;\n onLongPress?: (event: PressEvent) => any;\n onPress?: (event: PressEvent) => any;\n onPressIn?: (event: PressEvent) => any;\n onPressOut?: (event: PressEvent) => any;\n testID?: string;\n isHighlight?: boolean;\n isWithoutFeedback?: boolean;\n // for TouchableOpacity\n activeOpacity?: number;\n style?: ViewStyle;\n // Analytics\n analytics?: Analytics;\n analyticsID?: string;\n analyticsParams?: AnalyticsEventParams;\n vibration?: Vibration;\n};\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n analyticsParams: AnalyticsEventParams | undefined\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n ...(analyticsParams || {}),\n id: analyticsID\n });\n};\n\nconst Touchable = (props: Props) => {\n const templateContext = useTemplateContext();\n\n const {theme, vibration, analytics} = templateContext;\n\n const {\n analyticsID,\n analyticsParams,\n onPress,\n onLongPress,\n isWithoutFeedback,\n isHighlight,\n activeOpacity,\n disabled\n } = props;\n\n const handlePress = useMemo(\n () => (event: PressEvent) => {\n if (!onPress) return;\n\n vibration?.vibrate();\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.PRESS, analyticsID, analytics, analyticsParams);\n onPress(event);\n },\n [analytics, analyticsID, analyticsParams, onPress, vibration]\n );\n\n const handleLongPress = useMemo(\n () => (event: PressEvent) => {\n if (!onLongPress) return;\n\n vibration?.vibrate();\n\n analytics &&\n logEvent(ANALYTICS_EVENT_TYPE.LONG_PRESS, analyticsID, analytics, analyticsParams);\n onLongPress(event);\n },\n [analytics, analyticsID, analyticsParams, onLongPress, vibration]\n );\n\n if (isHighlight) {\n return (\n <TouchableHighlight\n {...props}\n hitSlop={hitSlop}\n underlayColor={theme.colors.gray.light}\n onPress={handlePress}\n onLongPress={handleLongPress}\n activeOpacity={activeOpacity || (disabled ? 1 : 0.85)}\n />\n );\n }\n\n return (\n <TouchableOpacity\n {...props}\n hitSlop={hitSlop}\n onPress={handlePress}\n onLongPress={handleLongPress}\n activeOpacity={(isWithoutFeedback && 1) || activeOpacity || (disabled ? 1 : 0.2)}\n />\n );\n};\n\nexport default Touchable;\n"],"file":"index.native.js"}
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
position: fixed;
|
|
176
176
|
bottom: 32px;
|
|
177
177
|
left: 32px;
|
|
178
|
-
z-index:
|
|
178
|
+
z-index: 1000;
|
|
179
179
|
}
|
|
180
180
|
.cookieTitle {
|
|
181
181
|
font-family: "Gilroy";
|
|
@@ -185,7 +185,6 @@
|
|
|
185
185
|
line-height: 32px;
|
|
186
186
|
color: white;
|
|
187
187
|
padding-left: 16px;
|
|
188
|
-
width: 60%;
|
|
189
188
|
}
|
|
190
189
|
.cookieIcon {
|
|
191
190
|
height: 20px;
|
|
@@ -191,10 +191,12 @@ class CardsList extends React.PureComponent {
|
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
setCardsWrapper(element) {
|
|
194
|
+
var _this$cardsWrapper, _this$cardsWrapper2;
|
|
195
|
+
|
|
194
196
|
this.cardsWrapper = element;
|
|
195
197
|
this.setState({
|
|
196
|
-
scrollLeft: this.cardsWrapper
|
|
197
|
-
offsetWidth: this.cardsWrapper
|
|
198
|
+
scrollLeft: (_this$cardsWrapper = this.cardsWrapper) == null ? void 0 : _this$cardsWrapper.scrollLeft,
|
|
199
|
+
offsetWidth: (_this$cardsWrapper2 = this.cardsWrapper) == null ? void 0 : _this$cardsWrapper2.offsetWidth
|
|
198
200
|
});
|
|
199
201
|
}
|
|
200
202
|
|
|
@@ -207,7 +209,9 @@ class CardsList extends React.PureComponent {
|
|
|
207
209
|
}
|
|
208
210
|
|
|
209
211
|
handleScroll() {
|
|
210
|
-
|
|
212
|
+
var _this$cardsWrapper3;
|
|
213
|
+
|
|
214
|
+
const scrollLeft = (_this$cardsWrapper3 = this.cardsWrapper) == null ? void 0 : _this$cardsWrapper3.scrollLeft;
|
|
211
215
|
this.setState({
|
|
212
216
|
scrollLeft
|
|
213
217
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"names":["React","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","NovaCompositionNavigationArrowRight","ArrowRight","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyTimer","TimerIcon","Provider","Card","style","ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","childContextTypes","propTypes","func","string","IconView","context","contentType","ICONS","chapter","course","dark","IconType","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","PureComponent","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","handleScroll","bind","handleOnLeft","handleOnRight","scrollTo","updateState","updatePages","setCardsWrapper","getScrollWidth","handleResize","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","cardPositions","accWidth","cardWidth","acc","pageIndex","accPageWidth","pageWidth","skip","position","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","dataName","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","rightArrowView","right","titleView","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","translate","arrayOf","shape","protoTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card from '../../card';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType color={dark} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.string,\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(PropTypes.shape(Card.protoTypes)),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {title, showMore, cards, onShowMore, dataName, contentType} = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"names":["React","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","NovaCompositionNavigationArrowRight","ArrowRight","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyTimer","TimerIcon","Provider","Card","style","ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","childContextTypes","propTypes","func","string","IconView","context","contentType","ICONS","chapter","course","dark","IconType","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","PureComponent","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","handleScroll","bind","handleOnLeft","handleOnRight","scrollTo","updateState","updatePages","setCardsWrapper","getScrollWidth","handleResize","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","cardPositions","accWidth","cardWidth","acc","pageIndex","accPageWidth","pageWidth","skip","position","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","dataName","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","rightArrowView","right","titleView","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","translate","arrayOf","shape","protoTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card from '../../card';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType color={dark} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.string,\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(PropTypes.shape(Card.protoTypes)),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {title, showMore, cards, onShowMore, dataName, contentType} = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"file":"index.js"}
|
|
@@ -13,8 +13,8 @@ const createStyleSheet = (brandTheme, theme) => StyleSheet.create({
|
|
|
13
13
|
minWidth: 175
|
|
14
14
|
},
|
|
15
15
|
text: {
|
|
16
|
-
borderColor: brandTheme
|
|
17
|
-
color: brandTheme
|
|
16
|
+
borderColor: brandTheme == null ? void 0 : brandTheme.colors.primary,
|
|
17
|
+
color: (brandTheme == null ? void 0 : brandTheme.colors.primary) || theme.colors.gray.medium,
|
|
18
18
|
fontWeight: theme.fontWeight.bold,
|
|
19
19
|
fontSize: theme.fontSize.regular,
|
|
20
20
|
textAlign: 'center'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/molecule/questions/free-text/index.native.tsx"],"names":["View","StyleSheet","TextInput","React","useState","useEffect","useCallback","useTemplateContext","ANALYTICS_EVENT_TYPE","createStyleSheet","brandTheme","theme","create","input","padding","spacing","tiny","borderWidth","borderColor","colors","gray","lightMedium","borderRadius","radius","common","backgroundColor","white","minWidth","text","primary","color","medium","fontWeight","bold","fontSize","regular","textAlign","spaced","paddingVertical","fullWitdh","width","logEvent","eventName","analytics","questionType","id","FreeText","props","templateContext","styleSheet","setStylesheet","translations","PLACEHOLDER_COLOR","fullWidth","testID","onChange","isDisabled","value","handleFocus","INPUT_FOCUS","handleBlur","INPUT_BLUR","_stylesheet","typeHere"],"mappings":"AAAA,SAAQA,IAAR,EAAcC,UAAd,EAA0BC,SAA1B,QAA0C,cAA1C;AACA,OAAOC,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,EAAoCC,WAApC,QAAsD,OAAtD;AACA,SAAQC,kBAAR,QAAiC,+CAAjC;AACA,SAAQC,oBAAR,QAA8C,8BAA9C;;AAmDA,MAAMC,gBAAgB,GAAG,CAACC,UAAD,EAAkBC,KAAlB,KACvBV,UAAU,CAACW,MAAX,CAAkB;AAChBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAEH,KAAK,CAACI,OAAN,CAAcC,IADlB;AAELC,IAAAA,WAAW,EAAE,CAFR;AAGLC,IAAAA,WAAW,EAAEP,KAAK,CAACQ,MAAN,CAAaC,IAAb,CAAkBC,WAH1B;AAILC,IAAAA,YAAY,EAAEX,KAAK,CAACY,MAAN,CAAaC,MAJtB;AAKLC,IAAAA,eAAe,EAAEd,KAAK,CAACQ,MAAN,CAAaO,KALzB;AAMLC,IAAAA,QAAQ,EAAE;AANL,GADS;AAShBC,EAAAA,IAAI,EAAE;AACJV,IAAAA,WAAW,EAAER,UAAU,
|
|
1
|
+
{"version":3,"sources":["../../../../src/molecule/questions/free-text/index.native.tsx"],"names":["View","StyleSheet","TextInput","React","useState","useEffect","useCallback","useTemplateContext","ANALYTICS_EVENT_TYPE","createStyleSheet","brandTheme","theme","create","input","padding","spacing","tiny","borderWidth","borderColor","colors","gray","lightMedium","borderRadius","radius","common","backgroundColor","white","minWidth","text","primary","color","medium","fontWeight","bold","fontSize","regular","textAlign","spaced","paddingVertical","fullWitdh","width","logEvent","eventName","analytics","questionType","id","FreeText","props","templateContext","styleSheet","setStylesheet","translations","PLACEHOLDER_COLOR","fullWidth","testID","onChange","isDisabled","value","handleFocus","INPUT_FOCUS","handleBlur","INPUT_BLUR","_stylesheet","typeHere"],"mappings":"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","sourcesContent":["import {View, StyleSheet, TextInput} from 'react-native';\nimport React, {useState, useEffect, useCallback} from 'react';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../../variables/analytics';\nimport {Theme} from '../../../variables/theme.native';\nimport {FontSize, TextAlign} from '../../../types/styles';\n\ntype QuestionType = 'basic' | 'template';\n\ninterface Props {\n fullWidth?: boolean;\n testID: string;\n questionType: QuestionType;\n analytics?: Analytics;\n onChange: (text: string) => void;\n isDisabled?: boolean;\n value?: string; // when value is undefined, TextInput acts as not controlled\n}\n\ntype StyleSheetType = {\n input: {\n padding: number;\n borderWidth: number;\n borderColor: string;\n borderRadius: number;\n backgroundColor: string;\n minWidth: number;\n };\n text: {\n color: string;\n fontWeight:\n | 'normal'\n | 'bold'\n | '100'\n | '200'\n | '300'\n | '400'\n | '500'\n | '600'\n | '700'\n | '800'\n | '900'\n | undefined;\n fontSize: FontSize;\n textAlign: TextAlign;\n };\n spaced: {\n paddingVertical: number;\n };\n fullWitdh: {\n width: string;\n };\n};\n\nconst createStyleSheet = (brandTheme: any, theme: Theme) =>\n StyleSheet.create({\n input: {\n padding: theme.spacing.tiny,\n borderWidth: 1,\n borderColor: theme.colors.gray.lightMedium,\n borderRadius: theme.radius.common,\n backgroundColor: theme.colors.white,\n minWidth: 175\n },\n text: {\n borderColor: brandTheme?.colors.primary,\n color: brandTheme?.colors.primary || theme.colors.gray.medium,\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.regular,\n textAlign: 'center'\n },\n spaced: {\n paddingVertical: theme.spacing.tiny\n },\n fullWitdh: {\n width: '100%'\n }\n });\n\nconst logEvent = (eventName: string, analytics: Analytics, questionType: QuestionType) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: `question-input-text`,\n questionType\n });\n};\n\nconst FreeText = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme, translations} = templateContext;\n const PLACEHOLDER_COLOR = theme.colors.gray.medium;\n\n // ------------------------------------\n\n const {\n analytics,\n questionType,\n fullWidth = false,\n testID,\n onChange,\n isDisabled = false,\n value\n } = props;\n\n // ------------------------------------\n\n const handleFocus = useCallback(\n () => analytics && logEvent(ANALYTICS_EVENT_TYPE.INPUT_FOCUS, analytics, questionType),\n [analytics, questionType]\n );\n\n const handleBlur = useCallback(\n () => analytics && logEvent(ANALYTICS_EVENT_TYPE.INPUT_BLUR, analytics, questionType),\n [analytics, questionType]\n );\n\n // ------------------------------------\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.spaced, fullWidth && styleSheet.fullWitdh]}>\n <TextInput\n style={[styleSheet.input, styleSheet.text]}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChangeText={onChange}\n placeholder={translations.typeHere}\n placeholderTextColor={PLACEHOLDER_COLOR}\n value={value}\n testID={testID}\n editable={!isDisabled}\n selectTextOnFocus={!isDisabled}\n />\n </View>\n );\n};\n\nexport default FreeText;\n"],"file":"index.native.js"}
|
|
@@ -86,7 +86,7 @@ const QuestionSlider = props => {
|
|
|
86
86
|
testID: testID
|
|
87
87
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
88
88
|
style: [styleSheet.header, {
|
|
89
|
-
color: brandTheme
|
|
89
|
+
color: brandTheme == null ? void 0 : brandTheme.colors.primary
|
|
90
90
|
}],
|
|
91
91
|
testID: "slider-value"
|
|
92
92
|
}, value), /*#__PURE__*/React.createElement(Slider, {
|
|
@@ -96,10 +96,10 @@ const QuestionSlider = props => {
|
|
|
96
96
|
maximumValue: max,
|
|
97
97
|
minimumValue: min,
|
|
98
98
|
onSlidingComplete: handleSlidingComplete,
|
|
99
|
-
minimumTrackTintColor: brandTheme
|
|
99
|
+
minimumTrackTintColor: brandTheme == null ? void 0 : brandTheme.colors.primary,
|
|
100
100
|
trackStyle: styleSheet.track,
|
|
101
101
|
thumbStyle: [styleSheet.thumb, {
|
|
102
|
-
borderColor: brandTheme
|
|
102
|
+
borderColor: brandTheme == null ? void 0 : brandTheme.colors.primary
|
|
103
103
|
}],
|
|
104
104
|
testID: "slider"
|
|
105
105
|
}), /*#__PURE__*/React.createElement(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"names":["React","useState","useEffect","useCallback","View","StyleSheet","Slider","Text","useTemplateContext","BOX_STYLE","createStyleSheet","theme","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","track","height","borderRadius","radius","button","thumb","width","backgroundColor","borderWidth","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","templateContext","brandTheme","styleSheet","setStylesheet","setValue","handleSlidingComplete","_stylesheet","primary","borderColor"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"names":["React","useState","useEffect","useCallback","View","StyleSheet","Slider","Text","useTemplateContext","BOX_STYLE","createStyleSheet","theme","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","track","height","borderRadius","radius","button","thumb","width","backgroundColor","borderWidth","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","templateContext","brandTheme","styleSheet","setStylesheet","setValue","handleSlidingComplete","_stylesheet","primary","borderColor"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, FlexAlignType} from 'react-native';\nimport Slider from '@coorpacademy/react-native-slider';\n\nimport {Theme} from '../../../../variables/theme.native';\nimport Text from '../../../../atom/text/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {BOX_STYLE} from '../../../../variables/shadow';\nimport {FlexDirection, JustifyContent, TextAlign, FontWeight} from '../../../../types/styles';\n\nexport type OnSlidingCompleteFunction = (value: number) => void;\n\nexport type Props = {\n min: number;\n max: number;\n value?: number;\n unit?: string;\n onSlidingComplete: OnSlidingCompleteFunction;\n style?: ViewStyle;\n step?: number;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n flex: number;\n paddingHorizontal: number;\n flexDirection: FlexDirection;\n justifyContent: JustifyContent;\n };\n header: {\n fontSize: number;\n fontWeight: FontWeight;\n textAlign: TextAlign;\n };\n textValue: {\n fontSize: number;\n color: string;\n fontWeight: FontWeight;\n textAlign: TextAlign;\n };\n valuesContainer: {\n flexDirection: FlexDirection;\n justifyContent: JustifyContent;\n };\n leftValue: {\n flex: number;\n alignItems: FlexAlignType | undefined;\n };\n rightValue: {\n flex: number;\n alignItems: FlexAlignType | undefined;\n };\n track: {\n height: number;\n borderRadius: number;\n };\n thumb: {\n width: number;\n height: number;\n borderRadius: number;\n backgroundColor: string;\n borderWidth: number;\n };\n};\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n container: {\n flex: 1,\n paddingHorizontal: 20,\n flexDirection: 'column',\n justifyContent: 'center'\n },\n header: {\n fontSize: 25,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n textValue: {\n fontSize: 15,\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n valuesContainer: {\n flexDirection: 'row',\n justifyContent: 'space-around'\n },\n leftValue: {\n flex: 1,\n alignItems: 'flex-start'\n },\n rightValue: {\n flex: 1,\n alignItems: 'flex-end'\n },\n track: {\n height: 10,\n borderRadius: theme.radius.button\n },\n thumb: {\n ...BOX_STYLE,\n width: 30,\n height: 30,\n borderRadius: 30 / 2,\n backgroundColor: 'white',\n borderWidth: 1\n }\n });\n\nconst QuestionSlider = (props: Props) => {\n const {\n step,\n style,\n min,\n max,\n unit = '',\n value: storeValue = 0,\n onSlidingComplete,\n testID\n } = props;\n const templateContext = useTemplateContext();\n const {brandTheme, theme} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const [value, setValue] = useState<number>(storeValue);\n\n const handleSlidingComplete = useCallback(() => {\n onSlidingComplete(value);\n }, [onSlidingComplete, value]);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={[styleSheet.container, style]} testID={testID}>\n <Text style={[styleSheet.header, {color: brandTheme?.colors.primary}]} testID=\"slider-value\">\n {value}\n </Text>\n <Slider\n step={step || 1}\n value={value}\n onValueChange={setValue}\n maximumValue={max}\n minimumValue={min}\n onSlidingComplete={handleSlidingComplete}\n minimumTrackTintColor={brandTheme?.colors.primary}\n trackStyle={styleSheet.track}\n thumbStyle={[styleSheet.thumb, {borderColor: brandTheme?.colors.primary}]}\n testID=\"slider\"\n />\n <View style={styleSheet.valuesContainer} testID=\"slider-values-container\">\n <View style={styleSheet.leftValue}>\n <Text style={styleSheet.textValue} testID=\"slider-min-value\">\n {`${min} ${unit}`}\n </Text>\n </View>\n <View style={styleSheet.rightValue}>\n <Text style={styleSheet.textValue} testID=\"slider-max-value\">\n {`${max} ${unit}`}\n </Text>\n </View>\n </View>\n </View>\n );\n};\n\nexport default QuestionSlider;\n"],"file":"index.native.js"}
|
|
@@ -7,7 +7,9 @@ import MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';
|
|
|
7
7
|
import style from './style.css';
|
|
8
8
|
import propTypes from './prop-types';
|
|
9
9
|
export const setScroll = container => () => {
|
|
10
|
-
|
|
10
|
+
var _container$current;
|
|
11
|
+
|
|
12
|
+
((_container$current = container.current) == null ? void 0 : _container$current.scrollTo) && container.current.scrollTo({
|
|
11
13
|
left: 1000,
|
|
12
14
|
behavior: 'smooth'
|
|
13
15
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/organism/review-congrats/index.js"],"names":["React","useEffect","useRef","AtomLottieWrapper","ButtonLink","MoleculeReviewCardCongrats","style","propTypes","setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","timer","setTimeout","clearTimeout","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","buttonContainer","buttonRevise"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,SAAf,EAA0BC,MAA1B,QAAuC,OAAvC;AACA,OAAOC,iBAAP,MAA8B,2BAA9B;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,0BAAP,MAAuC,qCAAvC;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AAEA,OAAO,MAAMC,SAAS,GAAGC,SAAS,IAAI,MAAM;
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-congrats/index.js"],"names":["React","useEffect","useRef","AtomLottieWrapper","ButtonLink","MoleculeReviewCardCongrats","style","propTypes","setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","timer","setTimeout","clearTimeout","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","buttonContainer","buttonRevise"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,SAAf,EAA0BC,MAA1B,QAAuC,OAAvC;AACA,OAAOC,iBAAP,MAA8B,2BAA9B;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,0BAAP,MAAuC,qCAAvC;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AAEA,OAAO,MAAMC,SAAS,GAAGC,SAAS,IAAI,MAAM;AAAA;;AAC1C,yBAAAA,SAAS,CAACC,OAAV,wCAAmBC,QAAnB,KACEF,SAAS,CAACC,OAAV,CAAkBC,QAAlB,CAA2B;AACzBC,IAAAA,IAAI,EAAE,IADmB;AAEzBC,IAAAA,QAAQ,EAAE;AAFe,GAA3B,CADF;AAKD,CANM;;AAQP,MAAMC,cAAc,GAAGC,KAAK,IAAI;AAC9B,QAAM;AACJ,kBAAcC,SADV;AAEJ,iBAAaC,QAFT;AAGJC,IAAAA,eAHI;AAIJC,IAAAA,KAJI;AAKJC,IAAAA,gBALI;AAMJC,IAAAA,gBANI;AAOJC,IAAAA,cAPI;AAQJC,IAAAA;AARI,MASFR,KATJ;AAWA,QAAMN,SAAS,GAAGP,MAAM,CAAC,IAAD,CAAxB;AAEAD,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMuB,KAAK,GAAGC,UAAU,CAACjB,SAAS,CAACC,SAAD,CAAV,EAAuB,IAAvB,CAAxB;AACA,WAAO,MAAMe,KAAK,IAAIE,YAAY,CAACF,KAAD,CAAlC;AACD,GAHQ,EAGN,EAHM,CAAT;AAKA,sBACE;AAAK,IAAA,SAAS,EAAElB,KAAK,CAACqB,aAAtB;AAAqC,kBAAYX,SAAjD;AAA4D,iBAAWC;AAAvE,kBACE,oBAAC,iBAAD,eACMC,eADN;AAEE,IAAA,IAAI,EAAE,KAFR;AAGE,IAAA,gBAAgB,EAAE,MAHpB;AAIE,IAAA,QAAQ,MAJV;AAKE,iBAAU,gBALZ;AAME,IAAA,SAAS,EAAEZ,KAAK,CAACsB,MANnB;AAOE,IAAA,oBAAoB,EAAEtB,KAAK,CAACuB;AAP9B,KADF,eAUE;AAAK,IAAA,SAAS,EAAEvB,KAAK,CAACwB;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAExB,KAAK,CAACa;AAAtB,KAA8BA,KAA9B,CADF,eAEE;AAAK,IAAA,GAAG,EAAEV,SAAV;AAAqB,IAAA,SAAS,EAAEH,KAAK,CAACyB;AAAtC,kBACE,oBAAC,0BAAD,eAAgCX,gBAAhC;AAAkD,IAAA,SAAS,EAAEd,KAAK,CAAC0B;AAAnE,KADF,eAEE,oBAAC,0BAAD,eACMX,gBADN;AAEE,IAAA,cAAc,EAAE,IAFlB;AAGE,IAAA,SAAS,EAAEf,KAAK,CAAC2B;AAHnB,KAFF,CAFF,eAUE;AAAK,IAAA,SAAS,EAAE3B,KAAK,CAAC4B;AAAtB,kBACE,oBAAC,UAAD,eACMZ,cADN;AAEE,IAAA,SAAS,EAAEhB,KAAK,CAAC6B,YAFnB;AAGE,iBAAU;AAHZ,KADF,eAME,oBAAC,UAAD,eAAgBZ,mBAAhB;AAAqC,IAAA,SAAS,EAAEjB,KAAK,CAAC6B;AAAtD,KANF,CAVF,CAVF,CADF;AAgCD,CAnDD;;AAqDArB,cAAc,CAACP,SAAf,2CAA2BA,SAA3B;AAEA,eAAeO,cAAf","sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\nimport ButtonLink from '../../atom/button-link';\nimport MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nexport const setScroll = container => () => {\n container.current?.scrollTo &&\n container.current.scrollTo({\n left: 1000,\n behavior: 'smooth'\n });\n};\n\nconst ReviewCongrats = props => {\n const {\n 'aria-label': ariaLabel,\n 'data-name': dataName,\n animationLottie,\n title,\n cardCongratsStar,\n cardCongratsRank,\n buttonRevising,\n buttonRevisingSkill\n } = props;\n\n const container = useRef(null);\n\n useEffect(() => {\n const timer = setTimeout(setScroll(container), 2000);\n return () => timer && clearTimeout(timer);\n }, []);\n\n return (\n <div className={style.mainContainer} aria-label={ariaLabel} data-name={dataName}>\n <AtomLottieWrapper\n {...animationLottie}\n loop={false}\n animationControl={'play'}\n autoplay\n data-name=\"lottie-wrapper\"\n className={style.lottie}\n backupImageClassName={style.ie11Backup}\n />\n <div className={style.containerCongrats}>\n <div className={style.title}>{title}</div>\n <div ref={container} className={style.containerCards}>\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStar} />\n <MoleculeReviewCardCongrats\n {...cardCongratsRank}\n timerAnimation={1800}\n className={style.cardRank}\n />\n </div>\n <div className={style.buttonContainer}>\n <ButtonLink\n {...buttonRevising}\n className={style.buttonRevise}\n data-name=\"revise-skill-link\"\n />\n <ButtonLink {...buttonRevisingSkill} className={style.buttonRevise} />\n </div>\n </div>\n </div>\n );\n};\n\nReviewCongrats.propTypes = propTypes;\n\nexport default ReviewCongrats;\n"],"file":"index.js"}
|