@coorpacademy/components 10.29.7 → 10.29.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/choice/index.native.tsx"],"names":[],"mappings":";AACA,OAAO,EAAmB,SAAS,EAAkB,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAC,KAAK,EAAE,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAQxE,oBAAY,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAoEF,QAAA,MAAM,MAAM,8GAUT,KAAK,uBAqFP,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/choice/index.native.tsx"],"names":[],"mappings":";AACA,OAAO,EAAmB,SAAS,EAAY,MAAM,cAAc,CAAC;AAIpE,OAAO,KAAK,EAAC,KAAK,EAAE,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAMxE,oBAAY,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAoEF,QAAA,MAAM,MAAM,8GAUT,KAAK,uBAqFP,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,7 +1,8 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
3
  import React, { useEffect, useState } from 'react';
4
- import { View, StyleSheet, Text } from 'react-native';
4
+ import { View, StyleSheet } from 'react-native';
5
+ import Html from '../html/index.native';
5
6
  import ImageBackground from '../image-background/index.native';
6
7
  import getCleanUri from '../../util/get-clean-uri';
7
8
  import Touchable from '../../hoc/touchable/index.native';
@@ -140,7 +141,7 @@ const Choice = ({
140
141
  style: styleSheet.image
141
142
  })) : null, children ? /*#__PURE__*/React.createElement(View, {
142
143
  style: textWrapperStyle
143
- }, /*#__PURE__*/React.createElement(Text, {
144
+ }, /*#__PURE__*/React.createElement(Html, {
144
145
  style: textStyle
145
146
  }, children)) : null));
146
147
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","useEffect","useState","View","StyleSheet","Text","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, Text, TextStyle} from 'react-native';\nimport type {Media, QuestionType} from '../../molecule/questions/types';\n\nimport ImageBackground from '../image-background/index.native';\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 <Text style={textStyle}>{children}</Text>\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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"}
@@ -2,7 +2,7 @@
2
2
  import { ViewStyle, ImageStyle, TextStyle } from 'react-native';
3
3
  export declare type Props = {
4
4
  children: string;
5
- fontSize: TextStyle['fontSize'];
5
+ fontSize?: TextStyle['fontSize'];
6
6
  numberOfLines?: number;
7
7
  onLinkPress?: (url: string) => void;
8
8
  containerStyle?: ViewStyle;
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/html/index.native.tsx"],"names":[],"mappings":";AACA,OAAO,EAAO,SAAS,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAOpE,oBAAY,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAqBF,QAAA,MAAM,IAAI,UAAW,KAAK,gBAyGzB,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/html/index.native.tsx"],"names":[],"mappings":";AACA,OAAO,EAAO,SAAS,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAqBpE,oBAAY,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAqBF,QAAA,MAAM,IAAI,UAAW,KAAK,gBAsIzB,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1,14 +1,19 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
- import React, { useCallback } from 'react';
3
+ import React, { useCallback, useState } from 'react';
4
4
  import { View } from 'react-native';
5
- import HtmlBase from 'react-native-render-html';
5
+ import RenderHTML from 'react-native-render-html';
6
6
  import { HTML_ANCHOR_TEXT_COLOR } from '../../variables/theme.native';
7
7
  import { useTemplateContext } from '../../template/app-review/template-context';
8
8
  import Text, { DEFAULT_STYLE as DEFAULT_TEXT_STYLE } from '../text/index.native';
9
9
 
10
+ const HtmlBase = props => {
11
+ return /*#__PURE__*/React.createElement(RenderHTML, props);
12
+ };
13
+
10
14
  const Html = props => {
11
15
  const templateContext = useTemplateContext();
16
+ const [isDisabledBaseFontStyleColor, disableBaseFontStyleColor] = useState(false);
12
17
  const {
13
18
  theme
14
19
  } = templateContext;
@@ -85,7 +90,20 @@ const Html = props => {
85
90
  const SpanRenderer = useCallback((htmlAttribs, _children) => /*#__PURE__*/React.createElement(Text, {
86
91
  numberOfLines: numberOfLines
87
92
  }, _children), [numberOfLines]);
93
+ const FontRenderer = useCallback((htmlAttribs, _children) => {
94
+ if (htmlAttribs.color) {
95
+ disableBaseFontStyleColor(true);
96
+ }
97
+
98
+ return /*#__PURE__*/React.createElement(Text, {
99
+ key: 1,
100
+ style: _extends({}, baseFontStyle, {
101
+ color: htmlAttribs.color?.replace(/ /g, '')
102
+ })
103
+ }, _children);
104
+ }, [baseFontStyle]);
88
105
  const renderers = {
106
+ font: FontRenderer,
89
107
  span: SpanRenderer
90
108
  };
91
109
  return /*#__PURE__*/React.createElement(View, {
@@ -100,9 +118,10 @@ const Html = props => {
100
118
  // eslint-disable-next-line no-nested-ternary
101
119
  html: isTextCentered ? `<p>${children}</p>` : numberOfLines ? `<span>${children}</span>` : `${children}`
102
120
  },
103
- tagsStyles: tagsStyles // @ts-expect-error TS2322
104
- ,
105
- baseFontStyle: baseFontStyle,
121
+ tagsStyles: tagsStyles,
122
+ baseFontStyle: _extends({}, baseFontStyle, {
123
+ color: isDisabledBaseFontStyleColor ? undefined : baseFontStyle.color
124
+ }),
106
125
  renderers: renderers // this is exceptionally for the onboarding course
107
126
  // is the only course that has a gif in the context but the img tag
108
127
  // comes with width & height attr and these makes this lib do not render the gif
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","useCallback","View","HtmlBase","HTML_ANCHOR_TEXT_COLOR","useTemplateContext","Text","DEFAULT_STYLE","DEFAULT_TEXT_STYLE","Html","props","templateContext","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","renderers","span","html"],"sources":["../../../src/atom/html/index.native.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport {View, ViewStyle, ImageStyle, TextStyle} from 'react-native';\nimport HtmlBase, {CustomRendererProps, MixedStyleRecord, TBlock} 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\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 {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 = {...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 const renderers = {\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 // @ts-expect-error TS2322\n baseFontStyle={baseFontStyle}\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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"}
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/choice/index.native.tsx"],"names":[],"mappings":";AACA,OAAO,EAAmB,SAAS,EAAkB,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAC,KAAK,EAAE,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAQxE,oBAAY,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAoEF,QAAA,MAAM,MAAM,8GAUT,KAAK,uBAqFP,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/choice/index.native.tsx"],"names":[],"mappings":";AACA,OAAO,EAAmB,SAAS,EAAY,MAAM,cAAc,CAAC;AAIpE,OAAO,KAAK,EAAC,KAAK,EAAE,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAMxE,oBAAY,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAoEF,QAAA,MAAM,MAAM,8GAUT,KAAK,uBAqFP,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -7,11 +7,13 @@ var _react = _interopRequireWildcard(require("react"));
7
7
 
8
8
  var _reactNative = require("react-native");
9
9
 
10
- var _index = _interopRequireDefault(require("../image-background/index.native"));
10
+ var _index = _interopRequireDefault(require("../html/index.native"));
11
+
12
+ var _index2 = _interopRequireDefault(require("../image-background/index.native"));
11
13
 
12
14
  var _getCleanUri = _interopRequireDefault(require("../../util/get-clean-uri"));
13
15
 
14
- var _index2 = _interopRequireDefault(require("../../hoc/touchable/index.native"));
16
+ var _index3 = _interopRequireDefault(require("../../hoc/touchable/index.native"));
15
17
 
16
18
  var _templateContext = require("../../template/app-review/template-context");
17
19
 
@@ -138,7 +140,7 @@ const Choice = ({
138
140
  }
139
141
  }
140
142
 
141
- return /*#__PURE__*/_react.default.createElement(_index2.default, {
143
+ return /*#__PURE__*/_react.default.createElement(_index3.default, {
142
144
  onPress: !isDisabled ? onPress : undefined,
143
145
  style: style,
144
146
  analyticsID: "question-choice",
@@ -150,13 +152,13 @@ const Choice = ({
150
152
  testID: prefixTestID && `${prefixTestID}${selectedSuffix}`
151
153
  }, url ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
152
154
  style: styleSheet.imageContainer
153
- }, /*#__PURE__*/_react.default.createElement(_index.default, {
155
+ }, /*#__PURE__*/_react.default.createElement(_index2.default, {
154
156
  testID: prefixTestID && `${prefixTestID}${mediaSuffix}`,
155
157
  source: source,
156
158
  style: styleSheet.image
157
159
  })) : null, children ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
158
160
  style: textWrapperStyle
159
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
161
+ }, /*#__PURE__*/_react.default.createElement(_index.default, {
160
162
  style: textStyle
161
163
  }, children)) : null));
162
164
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["createStyleSheet","theme","squeezed","StyleSheet","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","useTemplateContext","brandTheme","styleSheet","setStylesheet","useState","useEffect","_stylesheet","selectedSuffix","mediaType","type","toLowerCase","url","src","length","getCleanUri","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, Text, TextStyle} from 'react-native';\nimport type {Media, QuestionType} from '../../molecule/questions/types';\n\nimport ImageBackground from '../image-background/index.native';\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 <Text style={textStyle}>{children}</Text>\n </View>\n ) : null}\n </View>\n </Touchable>\n );\n};\n\nexport default Choice;\n"],"mappings":";;;;;AAAA;;AACA;;AAGA;;AACA;;AACA;;AACA;;;;;;;;;;AA2BA,MAAMA,gBAAgB,GAAG,CAACC,KAAD,EAAeC,QAAf,KACvBC,uBAAA,CAAWC,MAAX,CAAkB;EAChBC,SAAS,EAAE;IACTC,WAAW,EAAE,MADJ;IAETC,YAAY,EAAE;MAACC,KAAK,EAAE,CAAR;MAAWC,MAAM,EAAE;IAAnB,CAFL;IAGTC,aAAa,EAAE,IAHN;IAITC,YAAY,EAAE,EAJL;IAKTC,SAAS,EAAE,CALF;IAMTC,eAAe,EAAE;EANR,CADK;EAShBC,SAAS,EAAE;IACTD,eAAe,EAAEZ,KAAK,CAACc,MAAN,CAAaC,KADrB;IAETC,YAAY,EAAEhB,KAAK,CAACiB,MAAN,CAAaC,OAFlB;IAGTC,aAAa,EAAE,KAHN;IAITC,UAAU,EAAE;EAJH,CATK;EAehBC,aAAa,EAAE;IACbC,iBAAiB,EAAE,EADN;IAEbC,eAAe,EAAE,EAFJ;IAGbC,cAAc,EAAE,QAHH;IAIbJ,UAAU,EAAE,QAJC;IAKbK,IAAI,EAAE;EALO,CAfC;EAsBhBC,qBAAqB,EAAE;IACrBC,OAAO,EAAE3B,KAAK,CAAC4B,OAAN,CAAcC,KADF;IAErBC,WAAW,EAAEC,SAFQ;IAGrBR,eAAe,EAAEQ,SAHI;IAIrBC,YAAY,EAAED,SAJO;IAKrBN,IAAI,EAAE;EALe,CAtBP;EA6BhBQ,IAAI,EAAE;IACJC,QAAQ,EAAEjC,QAAQ,GAAGD,KAAK,CAACkC,QAAN,CAAeC,MAAlB,GAA2BnC,KAAK,CAACkC,QAAN,CAAehB,OADxD;IAEJkB,UAAU,EAAEpC,KAAK,CAACoC,UAAN,CAAiBC,IAFzB;IAGJC,KAAK,EAAEtC,KAAK,CAACc,MAAN,CAAayB,KAHhB;IAIJC,SAAS,EAAE;EAJP,CA7BU;EAmChBC,YAAY,EAAE;IACZH,KAAK,EAAEtC,KAAK,CAACc,MAAN,CAAaC;EADR,CAnCE;EAsChB2B,wBAAwB,EAAE;IACxBC,gBAAgB,EAAE3C,KAAK,CAACc,MAAN,CAAa8B;EADP,CAtCV;EAyChBC,cAAc,EAAE;IACdrC,MAAM,EAAE,MADM;IAEdD,KAAK,EAAE,KAFO;IAGduC,QAAQ,EAAE,QAHI;IAIdC,mBAAmB,EAAE/C,KAAK,CAACiB,MAAN,CAAaC,OAJpB;IAKd8B,sBAAsB,EAAEhD,KAAK,CAACiB,MAAN,CAAaC;EALvB,CAzCA;EAgDhB+B,KAAK,EAAE;IACLxB,IAAI,EAAE;EADD;AAhDS,CAAlB,CADF;;AAsDA,MAAMyB,MAAM,GAAG,CAAC;EACdC,QADc;EAEdC,UAAU,GAAG,KAFC;EAGdnD,QAAQ,GAAG,KAHG;EAIdoD,UAJc;EAKdC,OALc;EAMdC,KANc;EAOdC,MAAM,EAAEC,YAPM;EAQdC,KARc;EASdC;AATc,CAAD,KAUF;EACX,MAAMC,eAAe,GAAG,IAAAC,mCAAA,GAAxB;EACA,MAAM;IAAC7D,KAAD;IAAQ8D;EAAR,IAAsBF,eAA5B;EAEA,MAAM,CAACG,UAAD,EAAaC,aAAb,IAA8B,IAAAC,eAAA,EAAgC,IAAhC,CAApC;EAEA,IAAAC,gBAAA,EAAU,MAAM;IACd,MAAMC,WAAW,GAAGpE,gBAAgB,CAACC,KAAD,EAAQC,QAAR,CAApC;;IACA+D,aAAa,CAACG,WAAD,CAAb;EACD,CAHD,EAGG,CAACnE,KAAD,EAAQC,QAAR,CAHH;;EAKA,IAAI,CAAC8D,UAAL,EAAiB;IACf,OAAO,IAAP;EACD;;EAED,MAAMK,cAAc,GAAGX,YAAY,IAAIL,UAAhB,GAA6B,WAA7B,GAA2C,EAAlE;EACA,MAAMiB,SAAS,GAAGd,KAAK,IAAIA,KAAK,CAACe,IAAf,IAAuBf,KAAK,CAACe,IAAN,KAAe,KAAtC,IAA+Cf,KAAK,CAACe,IAAN,CAAWC,WAAX,EAAjE;EACA,MAAMC,GAAG,GACPjB,KAAK,IACLA,KAAK,CAACe,IAAN,KAAe,KADf,IAEAf,KAAK,CAACkB,GAFN,IAGAlB,KAAK,CAACkB,GAAN,CAAUC,MAAV,GAAmB,CAHnB,IAIA,IAAAC,oBAAA,EAAYpB,KAAK,CAACkB,GAAN,CAAU,CAAV,EAAaD,GAAzB,CALF;EAOA,MAAMI,MAAM,GAAG;IAACC,GAAG,EAAEL,GAAG,GAAG,IAAAG,oBAAA,EAAYH,GAAZ,CAAH,GAAsBzC;EAA/B,CAAf;EACA,MAAM+C,WAAW,GAAGrB,YAAY,IAAIY,SAAhB,GAA6B,IAAGA,SAAU,EAA1C,GAA8C,EAAlE;EAEA,MAAMU,SAAsB,GAAG,CAAChB,UAAU,CAAC9B,IAAZ,CAA/B;EACA,MAAM+C,gBAA6B,GAAG,CAACjB,UAAU,CAAC1C,aAAZ,CAAtC;;EAEA,IAAIpB,QAAJ,EAAc;IACZ+E,gBAAgB,CAACC,IAAjB,CAAsBlB,UAAU,CAACrC,qBAAjC;EACD;;EAED,IAAI0B,UAAJ,EAAgB;IACd2B,SAAS,CAACE,IAAV,CAAelB,UAAU,CAACtB,YAA1B,EADc,CAGd;;IACA,MAAMyC,cAAc,GAAGpB,UAAU;MAC/BlD,eAAe,EAAEkD,UAAU,CAAChD,MAAX,EAAmBqE,OADL;MAE/BC,WAAW,EAAEtB,UAAU,CAAChD,MAAX,EAAmBqE;IAFD,GAG3BX,GAAG,GACH;MACEa,oBAAoB,EAAErF,KAAK,CAACiB,MAAN,CAAaC,OADrC;MAEEoE,uBAAuB,EAAEtF,KAAK,CAACiB,MAAN,CAAaC;IAFxC,CADG,GAKH;MACEF,YAAY,EAAEhB,KAAK,CAACiB,MAAN,CAAaC;IAD7B,CAR2B,CAAjC;;IAaA,IAAIgE,cAAJ,EAAoB;MAClBF,gBAAgB,CAACC,IAAjB,CAAsBC,cAAtB;IACD;EACF;;EAED,oBACE,6BAAC,eAAD;IACE,OAAO,EAAE,CAAC7B,UAAD,GAAcC,OAAd,GAAwBvB,SADnC;IAEE,KAAK,EAAE2B,KAFT;IAGE,WAAW,EAAC,iBAHd;IAIE,eAAe,EAAE;MAACC;IAAD;EAJnB,gBAME,6BAAC,iBAAD;IACE,KAAK,EAAE,CAACI,UAAU,CAAC3D,SAAZ,EAAuB2D,UAAU,CAAClD,SAAlC,CADT;IAEE,MAAM,EAAE4C,YAAY,IAAK,GAAEA,YAAa,GAAEW,cAAe;EAF3D,GAIGI,GAAG,gBACF,6BAAC,iBAAD;IAAM,KAAK,EAAET,UAAU,CAAClB;EAAxB,gBACE,6BAAC,cAAD;IACE,MAAM,EAAEY,YAAY,IAAK,GAAEA,YAAa,GAAEqB,WAAY,EADxD;IAEE,MAAM,EAAEF,MAFV;IAGE,KAAK,EAAEb,UAAU,CAACd;EAHpB,EADF,CADE,GAQA,IAZN,EAcGE,QAAQ,gBACP,6BAAC,iBAAD;IAAM,KAAK,EAAE6B;EAAb,gBACE,6BAAC,iBAAD;IAAM,KAAK,EAAED;EAAb,GAAyB5B,QAAzB,CADF,CADO,GAIL,IAlBN,CANF,CADF;AA6BD,CA/FD;;eAiGeD,M"}
1
+ {"version":3,"file":"index.native.js","names":["createStyleSheet","theme","squeezed","StyleSheet","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","useTemplateContext","brandTheme","styleSheet","setStylesheet","useState","useEffect","_stylesheet","selectedSuffix","mediaType","type","toLowerCase","url","src","length","getCleanUri","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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"}
@@ -2,7 +2,7 @@
2
2
  import { ViewStyle, ImageStyle, TextStyle } from 'react-native';
3
3
  export declare type Props = {
4
4
  children: string;
5
- fontSize: TextStyle['fontSize'];
5
+ fontSize?: TextStyle['fontSize'];
6
6
  numberOfLines?: number;
7
7
  onLinkPress?: (url: string) => void;
8
8
  containerStyle?: ViewStyle;
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/html/index.native.tsx"],"names":[],"mappings":";AACA,OAAO,EAAO,SAAS,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAOpE,oBAAY,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAqBF,QAAA,MAAM,IAAI,UAAW,KAAK,gBAyGzB,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/html/index.native.tsx"],"names":[],"mappings":";AACA,OAAO,EAAO,SAAS,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAqBpE,oBAAY,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAqBF,QAAA,MAAM,IAAI,UAAW,KAAK,gBAsIzB,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -23,8 +23,13 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
23
23
 
24
24
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
25
 
26
+ const HtmlBase = props => {
27
+ return /*#__PURE__*/_react.default.createElement(_reactNativeRenderHtml.default, props);
28
+ };
29
+
26
30
  const Html = props => {
27
31
  const templateContext = (0, _templateContext.useTemplateContext)();
32
+ const [isDisabledBaseFontStyleColor, disableBaseFontStyleColor] = (0, _react.useState)(false);
28
33
  const {
29
34
  theme
30
35
  } = templateContext;
@@ -101,13 +106,26 @@ const Html = props => {
101
106
  const SpanRenderer = (0, _react.useCallback)((htmlAttribs, _children) => /*#__PURE__*/_react.default.createElement(_index.default, {
102
107
  numberOfLines: numberOfLines
103
108
  }, _children), [numberOfLines]);
109
+ const FontRenderer = (0, _react.useCallback)((htmlAttribs, _children) => {
110
+ if (htmlAttribs.color) {
111
+ disableBaseFontStyleColor(true);
112
+ }
113
+
114
+ return /*#__PURE__*/_react.default.createElement(_index.default, {
115
+ key: 1,
116
+ style: _extends({}, baseFontStyle, {
117
+ color: htmlAttribs.color?.replace(/ /g, '')
118
+ })
119
+ }, _children);
120
+ }, [baseFontStyle]);
104
121
  const renderers = {
122
+ font: FontRenderer,
105
123
  span: SpanRenderer
106
124
  };
107
125
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
108
126
  testID: testID,
109
127
  style: containerStyle
110
- }, /*#__PURE__*/_react.default.createElement(_reactNativeRenderHtml.default // to text-align center on android
128
+ }, /*#__PURE__*/_react.default.createElement(HtmlBase // to text-align center on android
111
129
  // we have to encapsulate between <p> tag
112
130
  // and use custom style define on <p>
113
131
  // definition in component style doesn't work
@@ -116,9 +134,10 @@ const Html = props => {
116
134
  // eslint-disable-next-line no-nested-ternary
117
135
  html: isTextCentered ? `<p>${children}</p>` : numberOfLines ? `<span>${children}</span>` : `${children}`
118
136
  },
119
- tagsStyles: tagsStyles // @ts-expect-error TS2322
120
- ,
121
- baseFontStyle: baseFontStyle,
137
+ tagsStyles: tagsStyles,
138
+ baseFontStyle: _extends({}, baseFontStyle, {
139
+ color: isDisabledBaseFontStyleColor ? undefined : baseFontStyle.color
140
+ }),
122
141
  renderers: renderers // this is exceptionally for the onboarding course
123
142
  // is the only course that has a gif in the context but the img tag
124
143
  // comes with width & height attr and these makes this lib do not render the gif
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["Html","props","templateContext","useTemplateContext","theme","children","fontSize","containerStyle","imageStyle","style","testID","anchorTextColor","HTML_ANCHOR_TEXT_COLOR","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","DEFAULT_TEXT_STYLE","colors","black","Array","isArray","styleObject","reduce","result","child","SpanRenderer","useCallback","htmlAttribs","_children","renderers","span","html"],"sources":["../../../src/atom/html/index.native.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport {View, ViewStyle, ImageStyle, TextStyle} from 'react-native';\nimport HtmlBase, {CustomRendererProps, MixedStyleRecord, TBlock} 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\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 {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 = {...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 const renderers = {\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 // @ts-expect-error TS2322\n baseFontStyle={baseFontStyle}\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;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;AAkCA,MAAMA,IAAI,GAAIC,KAAD,IAAkB;EAC7B,MAAMC,eAAe,GAAG,IAAAC,mCAAA,GAAxB;EACA,MAAM;IAACC;EAAD,IAAUF,eAAhB;EACA,MAAM;IACJG,QADI;IAEJC,QAFI;IAGJC,cAHI;IAIJC,UAJI;IAKJC,KALI;IAMJC,MANI;IAOJC,eAAe,GAAGC,6BAPd;IAQJC,cARI;IASJC;EATI,IAUFb,KAVJ,CAH6B,CAe7B;;EACA,MAAMc,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,EAAEpB,KAAK,CAACoB,UAAN,CAAiBC;IAD5B,CAXkB;IAcrBC,CAAC,EAAE;MACDN,kBAAkB,EAAE;IADnB;EAdkB,CAAvB;;EAmBA,MAAMO,UAA4B,gBAC7BZ,MAD6B;IAEhCa,EAAE,EAAE;MAACtB;IAAD,CAF4B;IAGhCuB,EAAE,EAAE;MAACvB;IAAD,CAH4B;IAIhCwB,EAAE,EAAE;MAACxB;IAAD,CAJ4B;IAKhCyB,EAAE,EAAE;MAACzB;IAAD,CAL4B;IAMhC0B,EAAE,EAAE;MAAC1B;IAAD,CAN4B;IAOhC2B,EAAE,EAAE;MAAC3B;IAAD,CAP4B;IAQhC4B,CAAC,EAAE;MAACC,KAAK,EAAExB;IAAR,CAR6B;IAShCyB,GAAG,EAAE5B,UAAU,IAAI;EATa,EAAlC;;EAYA,IAAI6B,aAAa,gBAAOC,oBAAP;IAA2BhC,QAA3B;IAAqC6B,KAAK,EAAE/B,KAAK,CAACmC,MAAN,CAAaC;EAAzD,EAAjB;;EACA,IAAI/B,KAAJ,EAAW;IACT,IAAIgC,KAAK,CAACC,OAAN,CAAcjC,KAAd,CAAJ,EAA0B;MACxB,MAAMkC,WAAW,GAAGlC,KAAK,CAACmC,MAAN,CAAa,CAACC,MAAD,EAASC,KAAT,kBAC5BD,MAD4B,EAE5BC,KAF4B,CAAb,CAApB;MAIAT,aAAa,gBACRA,aADQ,EAERM,WAFQ,CAAb;IAID,CATD,MASO;MACLN,aAAa,gBACRA,aADQ,EAER5B,KAFQ,CAAb;IAID;EACF;;EAED,MAAMsC,YAAY,GAAG,IAAAC,kBAAA,EACnB,CAACC,WAAD,EAA2CC,SAA3C,kBACE,6BAAC,cAAD;IAAM,aAAa,EAAEpC;EAArB,GAAqCoC,SAArC,CAFiB,EAInB,CAACpC,aAAD,CAJmB,CAArB;EAOA,MAAMqC,SAAS,GAAG;IAChBC,IAAI,EAAEL;EADU,CAAlB;EAIA,oBACE,6BAAC,iBAAD;IAAM,MAAM,EAAErC,MAAd;IAAsB,KAAK,EAAEH;EAA7B,gBACE,6BAAC,8BAAD,CACE;EACA;EACA;EACA;EAJF;IAKE,MAAM,EAAE;MACN;MACA8C,IAAI,EAAExC,cAAc,GACf,MAAKR,QAAS,MADC,GAEhBS,aAAa,GACZ,SAAQT,QAAS,SADL,GAEZ,GAAEA,QAAS;IANV,CALV;IAaE,UAAU,EAAEsB,UAbd,CAcE;IAdF;IAeE,aAAa,EAAEU,aAfjB;IAgBE,SAAS,EAAEc,SAhBb,CAiBE;IACA;IACA;IACA;IApBF;IAqBE,aAAa,EAAE,CAAC,OAAD,EAAU,QAAV,CArBjB;IAsBE,MAAM,EAAC;EAtBT,EADF,CADF;AA4BD,CAzGD;;eA2GenD,I"}
1
+ {"version":3,"file":"index.native.js","names":["HtmlBase","props","Html","templateContext","useTemplateContext","isDisabledBaseFontStyleColor","disableBaseFontStyleColor","useState","theme","children","fontSize","containerStyle","imageStyle","style","testID","anchorTextColor","HTML_ANCHOR_TEXT_COLOR","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","DEFAULT_TEXT_STYLE","colors","black","Array","isArray","styleObject","reduce","result","child","SpanRenderer","useCallback","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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"}
@@ -0,0 +1 @@
1
+ {"ignore_dirs":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "10.29.7",
3
+ "version": "10.29.8",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -157,5 +157,5 @@
157
157
  "last 2 versions",
158
158
  "IE 11"
159
159
  ],
160
- "gitHead": "941e2dc93ceb4182a904270bb4aa945b0bc3aee3"
160
+ "gitHead": "05d24775ec7d44bda1e444685a9aafa403e456b8"
161
161
  }