@coorpacademy/components 10.23.6 → 10.23.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.
Files changed (101) hide show
  1. package/es/atom/choice/index.native.js +14 -11
  2. package/es/atom/choice/index.native.js.map +1 -1
  3. package/es/atom/header-back-button/index.native.js.map +1 -1
  4. package/es/atom/html/index.native.js +8 -31
  5. package/es/atom/html/index.native.js.map +1 -1
  6. package/es/atom/select-modal/index.native.js +13 -3
  7. package/es/atom/select-modal/index.native.js.map +1 -1
  8. package/es/atom/space/index.native.js.map +1 -1
  9. package/es/hoc/modal/index.native.js +2 -1
  10. package/es/hoc/modal/index.native.js.map +1 -1
  11. package/es/hoc/modal/select/index.native.js.map +1 -1
  12. package/es/hoc/modal/select-item/index.native.js +7 -1
  13. package/es/hoc/modal/select-item/index.native.js.map +1 -1
  14. package/es/hoc/touchable/index.native.js +2 -2
  15. package/es/hoc/touchable/index.native.js.map +1 -1
  16. package/es/molecule/answer/prop-types.js.map +1 -1
  17. package/es/molecule/brand-logo/index.native.js +8 -3
  18. package/es/molecule/brand-logo/index.native.js.map +1 -1
  19. package/es/molecule/cm-popin/style.css +14 -3
  20. package/es/molecule/questions/free-text/index.native.js.map +1 -1
  21. package/es/molecule/questions/mobile/draggable/index.native.js.map +1 -1
  22. package/es/molecule/questions/mobile/slider/index.native.js.map +1 -1
  23. package/es/molecule/questions/mobile/switch/index.native.js.map +1 -1
  24. package/es/molecule/questions/mobile/template/index.native.js +10 -6
  25. package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
  26. package/es/organism/header-v2/index.native.js.map +1 -1
  27. package/es/organism/mobile-navigation/index.native.js.map +1 -1
  28. package/es/organism/review-slide/index.native.js +3 -3
  29. package/es/organism/review-slide/index.native.js.map +1 -1
  30. package/es/organism/review-slide/prop-types.js +0 -1
  31. package/es/organism/review-slide/prop-types.js.map +1 -1
  32. package/es/organism/review-slide/style.css +1 -1
  33. package/es/organism/review-stacked-slides/index.js +3 -4
  34. package/es/organism/review-stacked-slides/index.js.map +1 -1
  35. package/es/organism/review-stacked-slides/index.native.js +1 -2
  36. package/es/organism/review-stacked-slides/index.native.js.map +1 -1
  37. package/es/organism/review-stacked-slides/prop-types.js.map +1 -1
  38. package/es/organism/review-stacked-slides/style.css +0 -3
  39. package/es/template/app-player/popin-header/index.js +1 -1
  40. package/es/template/app-player/popin-header/index.js.map +1 -1
  41. package/es/template/app-review/player/index.js +8 -3
  42. package/es/template/app-review/player/index.js.map +1 -1
  43. package/es/template/app-review/player/index.native.js +2 -1
  44. package/es/template/app-review/player/index.native.js.map +1 -1
  45. package/es/template/app-review/player/prop-types.js +5 -1
  46. package/es/template/app-review/player/prop-types.js.map +1 -1
  47. package/es/template/app-review/player/style.css +10 -0
  48. package/es/variables/theme.native.js.map +1 -1
  49. package/lib/atom/choice/index.native.js +17 -15
  50. package/lib/atom/choice/index.native.js.map +1 -1
  51. package/lib/atom/header-back-button/index.native.js.map +1 -1
  52. package/lib/atom/html/index.native.js +8 -31
  53. package/lib/atom/html/index.native.js.map +1 -1
  54. package/lib/atom/select-modal/index.native.js +13 -3
  55. package/lib/atom/select-modal/index.native.js.map +1 -1
  56. package/lib/atom/space/index.native.js.map +1 -1
  57. package/lib/hoc/modal/index.native.js +2 -1
  58. package/lib/hoc/modal/index.native.js.map +1 -1
  59. package/lib/hoc/modal/select/index.native.js.map +1 -1
  60. package/lib/hoc/modal/select-item/index.native.js +7 -1
  61. package/lib/hoc/modal/select-item/index.native.js.map +1 -1
  62. package/lib/hoc/touchable/index.native.js +2 -2
  63. package/lib/hoc/touchable/index.native.js.map +1 -1
  64. package/lib/molecule/answer/prop-types.js.map +1 -1
  65. package/lib/molecule/brand-logo/index.native.js +8 -3
  66. package/lib/molecule/brand-logo/index.native.js.map +1 -1
  67. package/lib/molecule/cm-popin/style.css +14 -3
  68. package/lib/molecule/questions/free-text/index.native.js.map +1 -1
  69. package/lib/molecule/questions/mobile/draggable/index.native.js.map +1 -1
  70. package/lib/molecule/questions/mobile/slider/index.native.js.map +1 -1
  71. package/lib/molecule/questions/mobile/switch/index.native.js.map +1 -1
  72. package/lib/molecule/questions/mobile/template/index.native.js +10 -7
  73. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
  74. package/lib/organism/header-v2/index.native.js.map +1 -1
  75. package/lib/organism/mobile-navigation/index.native.js.map +1 -1
  76. package/lib/organism/review-slide/index.native.js +3 -3
  77. package/lib/organism/review-slide/index.native.js.map +1 -1
  78. package/lib/organism/review-slide/prop-types.js +0 -1
  79. package/lib/organism/review-slide/prop-types.js.map +1 -1
  80. package/lib/organism/review-slide/style.css +1 -1
  81. package/lib/organism/review-stacked-slides/index.js +3 -4
  82. package/lib/organism/review-stacked-slides/index.js.map +1 -1
  83. package/lib/organism/review-stacked-slides/index.native.js +1 -2
  84. package/lib/organism/review-stacked-slides/index.native.js.map +1 -1
  85. package/lib/organism/review-stacked-slides/prop-types.js.map +1 -1
  86. package/lib/organism/review-stacked-slides/style.css +0 -3
  87. package/lib/template/app-player/popin-header/index.js +1 -1
  88. package/lib/template/app-player/popin-header/index.js.map +1 -1
  89. package/lib/template/app-review/player/index.js +9 -3
  90. package/lib/template/app-review/player/index.js.map +1 -1
  91. package/lib/template/app-review/player/index.native.js +2 -1
  92. package/lib/template/app-review/player/index.native.js.map +1 -1
  93. package/lib/template/app-review/player/prop-types.js +6 -1
  94. package/lib/template/app-review/player/prop-types.js.map +1 -1
  95. package/lib/template/app-review/player/style.css +10 -0
  96. package/lib/variables/theme.native.js.map +1 -1
  97. package/package.json +6 -4
  98. package/es/types/styles.js +0 -2
  99. package/es/types/styles.js.map +0 -1
  100. package/lib/types/styles.js +0 -2
  101. package/lib/types/styles.js.map +0 -1
@@ -1,14 +1,13 @@
1
1
  function _extends() { _extends = Object.assign || 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 } from 'react-native';
5
- import Html from '../html/index.native';
4
+ import { View, StyleSheet, Text } from 'react-native';
6
5
  import ImageBackground from '../image-background/index.native';
7
6
  import getCleanUri from '../../util/get-clean-uri';
8
7
  import Touchable from '../../hoc/touchable/index.native';
9
8
  import { useTemplateContext } from '../../template/app-review/template-context';
10
9
 
11
- const createStyleSheet = theme => StyleSheet.create({
10
+ const createStyleSheet = (theme, squeezed) => StyleSheet.create({
12
11
  boxShadow: {
13
12
  shadowColor: '#000',
14
13
  shadowOffset: {
@@ -41,6 +40,7 @@ const createStyleSheet = theme => StyleSheet.create({
41
40
  flex: 0
42
41
  },
43
42
  text: {
43
+ fontSize: squeezed ? theme.fontSize.medium : theme.fontSize.regular,
44
44
  fontWeight: theme.fontWeight.bold,
45
45
  color: theme.colors.black,
46
46
  textAlign: 'center'
@@ -81,10 +81,10 @@ const Choice = ({
81
81
  } = templateContext;
82
82
  const [styleSheet, setStylesheet] = useState(null);
83
83
  useEffect(() => {
84
- const _stylesheet = createStyleSheet(theme);
84
+ const _stylesheet = createStyleSheet(theme, squeezed);
85
85
 
86
86
  setStylesheet(_stylesheet);
87
- }, [theme]);
87
+ }, [theme, squeezed]);
88
88
 
89
89
  if (!styleSheet) {
90
90
  return null;
@@ -97,11 +97,15 @@ const Choice = ({
97
97
  uri: url ? getCleanUri(url) : undefined
98
98
  };
99
99
  const mediaSuffix = prefixTestID && mediaType ? `-${mediaType}` : '';
100
- const htmlStyle = [styleSheet.text];
101
- const textWrapperStyle = [styleSheet.textContainer, squeezed && styleSheet.squeezedTextContainer];
100
+ const textStyle = [styleSheet.text];
101
+ const textWrapperStyle = [styleSheet.textContainer];
102
+
103
+ if (squeezed) {
104
+ textWrapperStyle.push(styleSheet.squeezedTextContainer);
105
+ }
102
106
 
103
107
  if (isSelected) {
104
- htmlStyle.push(styleSheet.textSelected);
108
+ textStyle.push(styleSheet.textSelected);
105
109
 
106
110
  const selectionStyle = brandTheme && _extends({
107
111
  backgroundColor: brandTheme.colors.primary,
@@ -134,9 +138,8 @@ const Choice = ({
134
138
  style: styleSheet.image
135
139
  })) : null, children ? /*#__PURE__*/React.createElement(View, {
136
140
  style: textWrapperStyle
137
- }, /*#__PURE__*/React.createElement(Html, {
138
- fontSize: squeezed ? theme.fontSize.medium : theme.fontSize.regular,
139
- style: htmlStyle
141
+ }, /*#__PURE__*/React.createElement(Text, {
142
+ style: textStyle
140
143
  }, children)) : null));
141
144
  };
142
145
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/choice/index.native.tsx"],"names":["React","useEffect","useState","View","StyleSheet","Html","ImageBackground","getCleanUri","Touchable","useTemplateContext","createStyleSheet","theme","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","fontWeight","bold","color","black","textAlign","textSelected","unselectedImageContainer","borderRightColor","border","imageContainer","overflow","borderTopLeftRadius","borderBottomLeftRadius","image","Choice","children","isSelected","squeezed","isDisabled","onPress","media","testID","prefixTestID","style","questionType","templateContext","brandTheme","styleSheet","setStylesheet","_stylesheet","selectedSuffix","mediaType","type","toLowerCase","url","src","length","source","uri","mediaSuffix","htmlStyle","textWrapperStyle","push","selectionStyle","primary","borderColor","borderTopRightRadius","borderBottomRightRadius","fontSize","medium"],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View, StyleSheet, ViewStyle} from 'react-native';\nimport type {Media, QuestionType} from '../../molecule/questions/types';\n\nimport Html from '../html/index.native';\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: any;\n container: any;\n text: any;\n textSelected: any;\n textContainer: any;\n squeezedTextContainer: any;\n unselectedImageContainer: any;\n imageContainer: any;\n image: any;\n};\n\nconst createStyleSheet = (theme: Theme): 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 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);\n setStylesheet(_stylesheet);\n }, [theme]);\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 htmlStyle: ViewStyle[] = [styleSheet.text];\n const textWrapperStyle: ViewStyle[] = [\n styleSheet.textContainer,\n squeezed && styleSheet.squeezedTextContainer\n ];\n\n if (isSelected) {\n htmlStyle.push(styleSheet.textSelected);\n\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 textWrapperStyle.push(selectionStyle);\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\n fontSize={squeezed ? theme.fontSize.medium : theme.fontSize.regular}\n style={htmlStyle}\n >\n {children}\n </Html>\n </View>\n ) : null}\n </View>\n </Touchable>\n );\n};\n\nexport default Choice;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/atom/choice/index.native.tsx"],"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"],"mappings":"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","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 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 textWrapperStyle.push(selectionStyle);\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"],"file":"index.native.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/header-back-button/index.native.tsx"],"names":["React","useState","useEffect","View","StyleSheet","NovaSolidPlacesPlacesHome2","HomeIcon","NovaSolidStatusClose","CloseIcon","useTemplateContext","Touchable","HeaderBackIcon","HOME_ICON_HEIGHT","CLOSE_ICON_HEIGHT","BACK_ICON_HEIGHT","createStyleSheet","theme","statusBarHeight","create","container","paddingLeft","spacing","base","floating","paddingTop","position","top","noSafeArea","HeaderBackButton","props","templateContext","styleSheet","setStylesheet","display","type","color","colors","white","onPress","isFloating","testID","_stylesheet"],"mappings":"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","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {View, StyleSheet} from 'react-native';\nimport type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport {\n NovaSolidPlacesPlacesHome2 as HomeIcon,\n NovaSolidStatusClose as CloseIcon\n} from '@coorpacademy/nova-icons';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport Touchable from '../../hoc/touchable/index.native';\nimport HeaderBackIcon from '../header-back-icon/index.native';\nimport {Theme} from '../../variables/theme.native';\n\nexport const HOME_ICON_HEIGHT = 20;\nexport const CLOSE_ICON_HEIGHT = 16;\nexport const BACK_ICON_HEIGHT = 20;\n\nexport type Props = {\n type: 'close' | 'back' | 'home';\n color?: string;\n onPress?: (event: PressEvent) => any;\n isFloating?: boolean;\n noSafeArea?: boolean;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n paddingLeft: number;\n };\n floating: {\n paddingTop: number;\n position: string;\n top: number;\n };\n noSafeArea: {\n top: 0;\n };\n};\n\nconst createStyleSheet = (theme: Theme, statusBarHeight: number) =>\n StyleSheet.create({\n container: {\n paddingLeft: theme.spacing.base\n },\n floating: {\n paddingTop: theme.spacing.base,\n position: 'absolute',\n top: statusBarHeight\n },\n noSafeArea: {\n top: 0\n }\n });\n\nconst HeaderBackButton = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {\n theme,\n display: {statusBarHeight}\n } = templateContext;\n\n const {\n type,\n color = theme.colors.white,\n onPress,\n isFloating = true,\n noSafeArea = false,\n testID = 'default-header-back-button-test-id'\n } = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme, statusBarHeight);\n setStylesheet(_stylesheet);\n }, [theme, statusBarHeight]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View\n style={[\n styleSheet.container,\n isFloating && styleSheet.floating,\n isFloating && noSafeArea && styleSheet.noSafeArea\n ]}\n >\n <Touchable testID={testID} onPress={onPress} analyticsID=\"button-close\">\n {type === 'home' ? (\n <HomeIcon height={HOME_ICON_HEIGHT} width={HOME_ICON_HEIGHT} color={color} />\n ) : null}\n {type === 'close' ? (\n <CloseIcon height={CLOSE_ICON_HEIGHT} width={CLOSE_ICON_HEIGHT} color={color} />\n ) : null}\n {type === 'back' ? (\n <HeaderBackIcon height={BACK_ICON_HEIGHT} width={BACK_ICON_HEIGHT} color={color} />\n ) : null}\n </Touchable>\n </View>\n );\n};\n\nexport default HeaderBackButton;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/atom/header-back-button/index.native.tsx"],"names":["React","useState","useEffect","View","StyleSheet","NovaSolidPlacesPlacesHome2","HomeIcon","NovaSolidStatusClose","CloseIcon","useTemplateContext","Touchable","HeaderBackIcon","HOME_ICON_HEIGHT","CLOSE_ICON_HEIGHT","BACK_ICON_HEIGHT","createStyleSheet","theme","statusBarHeight","create","container","paddingLeft","spacing","base","floating","paddingTop","position","top","noSafeArea","HeaderBackButton","props","templateContext","styleSheet","setStylesheet","display","type","color","colors","white","onPress","isFloating","testID","_stylesheet"],"mappings":"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","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {View, StyleSheet, GestureResponderEvent, ViewStyle} from 'react-native';\n\nimport {\n NovaSolidPlacesPlacesHome2 as HomeIcon,\n NovaSolidStatusClose as CloseIcon\n} from '@coorpacademy/nova-icons';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport Touchable from '../../hoc/touchable/index.native';\nimport HeaderBackIcon from '../header-back-icon/index.native';\nimport {Theme} from '../../variables/theme.native';\n\nexport const HOME_ICON_HEIGHT = 20;\nexport const CLOSE_ICON_HEIGHT = 16;\nexport const BACK_ICON_HEIGHT = 20;\n\nexport type Props = {\n type: 'close' | 'back' | 'home';\n color?: string;\n onPress?: (event: GestureResponderEvent) => any;\n isFloating?: boolean;\n noSafeArea?: boolean;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n floating: ViewStyle;\n noSafeArea: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme, statusBarHeight: number): StyleSheetType =>\n StyleSheet.create({\n container: {\n paddingLeft: theme.spacing.base\n },\n floating: {\n paddingTop: theme.spacing.base,\n position: 'absolute',\n top: statusBarHeight\n },\n noSafeArea: {\n top: 0\n }\n });\n\nconst HeaderBackButton = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {\n theme,\n display: {statusBarHeight}\n } = templateContext;\n\n const {\n type,\n color = theme.colors.white,\n onPress,\n isFloating = true,\n noSafeArea = false,\n testID = 'default-header-back-button-test-id'\n } = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme, statusBarHeight);\n setStylesheet(_stylesheet);\n }, [theme, statusBarHeight]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View\n style={[\n styleSheet.container,\n isFloating && styleSheet.floating,\n isFloating && noSafeArea && styleSheet.noSafeArea\n ]}\n >\n <Touchable testID={testID} onPress={onPress} analyticsID=\"button-close\">\n {type === 'home' ? (\n <HomeIcon height={HOME_ICON_HEIGHT} width={HOME_ICON_HEIGHT} color={color} />\n ) : null}\n {type === 'close' ? (\n <CloseIcon height={CLOSE_ICON_HEIGHT} width={CLOSE_ICON_HEIGHT} color={color} />\n ) : null}\n {type === 'back' ? (\n <HeaderBackIcon height={BACK_ICON_HEIGHT} width={BACK_ICON_HEIGHT} color={color} />\n ) : null}\n </Touchable>\n </View>\n );\n};\n\nexport default HeaderBackButton;\n"],"file":"index.native.js"}
@@ -23,13 +23,11 @@ const Html = props => {
23
23
  testID,
24
24
  anchorTextColor = HTML_ANCHOR_TEXT_COLOR,
25
25
  isTextCentered,
26
- numberOfLines,
27
- onLinkPress
26
+ numberOfLines
28
27
  } = props;
29
28
  const handleLinkPress = useMemo(() => url => {
30
29
  vibration?.vibrate();
31
- onLinkPress && onLinkPress(url);
32
- }, [onLinkPress, vibration]); // Don't use StyleSheet there, it's not a react style
30
+ }, [vibration]); // Don't use StyleSheet there, it's not a react style
33
31
 
34
32
  const styles = {
35
33
  p: {
@@ -72,7 +70,7 @@ const Html = props => {
72
70
  a: {
73
71
  color: anchorTextColor
74
72
  },
75
- img: imageStyle
73
+ img: imageStyle || {}
76
74
  });
77
75
 
78
76
  let baseFontStyle = _extends(_extends({}, DEFAULT_TEXT_STYLE), {}, {
@@ -90,30 +88,9 @@ const Html = props => {
90
88
  }
91
89
 
92
90
  const renderers = {
93
- // eslint-disable-next-line react/display-name
94
- font: (htmlAttribs, _children) => {
95
- if (htmlAttribs.color) {
96
- setDisableBaseFontStyleColor(true);
97
- }
98
-
99
- return /*#__PURE__*/React.createElement(Text, {
100
- key: 1,
101
- style: _extends(_extends({}, baseFontStyle), {}, {
102
- color: htmlAttribs.color
103
- })
104
- }, _children);
105
- },
106
- span: function Span(_, _children, convertedCSSStyles, {
107
- allowFontScaling,
108
- key
109
- }) {
110
- return /*#__PURE__*/React.createElement(Text, {
111
- numberOfLines: numberOfLines,
112
- allowFontScaling: allowFontScaling,
113
- key: key,
114
- style: convertedCSSStyles
115
- }, _children);
116
- }
91
+ span: (htmlAttribs, _children) => /*#__PURE__*/React.createElement(Text, {
92
+ numberOfLines: numberOfLines
93
+ }, _children)
117
94
  };
118
95
  return /*#__PURE__*/React.createElement(View, {
119
96
  testID: testID,
@@ -127,11 +104,11 @@ const Html = props => {
127
104
  // eslint-disable-next-line no-nested-ternary
128
105
  html: isTextCentered ? `<p>${children}</p>` : numberOfLines ? `<span>${children}</span>` : `${children}`
129
106
  },
130
- tagsStyles: tagsStyles,
107
+ tagsStyles: tagsStyles // @ts-expect-error TS2322
108
+ ,
131
109
  baseFontStyle: _extends(_extends({}, baseFontStyle), {}, {
132
110
  color: disableBaseFontStyleColor ? null : baseFontStyle.color
133
111
  }),
134
- onLinkPress: handleLinkPress,
135
112
  renderers: renderers // this is exceptionally for the onboarding course
136
113
  // is the only course that has a gif in the context but the img tag
137
114
  // comes with width & height attr and these makes this lib do not render the gif
@@ -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":"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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"}
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","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","span","htmlAttribs","_children","html"],"mappings":"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","sourcesContent":["import React, {useMemo, useState} 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 [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 } = props;\n\n const handleLinkPress = useMemo(\n () => (url: string) => {\n vibration?.vibrate();\n },\n [vibration]\n );\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 renderers = {\n span: (htmlAttribs: CustomRendererProps<TBlock>, _children: string) => (\n <Text numberOfLines={numberOfLines}>{_children}</Text>\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 // @ts-expect-error TS2322\n baseFontStyle={{\n ...baseFontStyle,\n color: disableBaseFontStyleColor ? null : 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"],"file":"index.native.js"}
@@ -78,6 +78,18 @@ const Select = props => {
78
78
 
79
79
  const selectedItem = values.find(item => item.selected);
80
80
  const text = selectedItem && selectedItem.text || placeholder || null;
81
+ const textStyles = [styleSheet.text];
82
+
83
+ if (textStyle) {
84
+ textStyles.push(textStyle);
85
+ }
86
+
87
+ if (color) {
88
+ textStyles.push({
89
+ color
90
+ });
91
+ }
92
+
81
93
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Touchable, {
82
94
  disabled: isDisabled,
83
95
  onPress: handleFocus,
@@ -86,9 +98,7 @@ const Select = props => {
86
98
  }, /*#__PURE__*/React.createElement(View, {
87
99
  style: [styleSheet.container, style]
88
100
  }, /*#__PURE__*/React.createElement(Text, {
89
- style: [styleSheet.text, textStyle, color && {
90
- color
91
- }]
101
+ style: textStyles
92
102
  }, text), /*#__PURE__*/React.createElement(Space, {
93
103
  type: "tiny"
94
104
  }), /*#__PURE__*/React.createElement(ArrowDown, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/select-modal/index.native.tsx"],"names":["React","useState","useEffect","useCallback","View","StyleSheet","NovaCompositionNavigationArrowDown","ArrowDown","Modal","Touchable","ANALYTICS_EVENT_TYPE","Space","Text","ModalSelect","useTemplateContext","ICON_WIDTH","createStyleSheet","theme","create","container","alignItems","flexDirection","text","flex","color","colors","gray","medium","textAlign","logEvent","eventName","analyticsID","analytics","questionType","id","Select","props","templateContext","styleSheet","setStylesheet","_stylesheet","onBlur","onFocus","onChange","values","placeholder","value","style","textStyle","isFocused","isDisabled","testID","handleFocus","OPEN_SELECT","handleBlur","CLOSE_SELECT","handleChange","_value","selectedItem","find","item","selected","dark"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, FlexAlignType} from 'react-native';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Modal from 'react-native-modal';\nimport Touchable from '../../hoc/touchable/index.native';\nimport type {ChoiceItem, QuestionType} from '../../molecule/questions/types';\nimport {Theme} from '../../variables/theme.native';\n\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../variables/analytics';\nimport Space from '../space/index.native';\nimport Text from '../text/index.native';\nimport ModalSelect, {OnChangeFunction} from '../../hoc/modal/select/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type Props = {\n analyticsID: string;\n questionType: QuestionType;\n isDisabled?: boolean;\n isFocused?: boolean;\n values: Array<ChoiceItem>;\n value?: string;\n placeholder?: string;\n color?: string;\n onChange: OnChangeFunction;\n onFocus: () => void;\n onBlur: () => void;\n style?: ViewStyle;\n textStyle?: ViewStyle;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n alignItems: FlexAlignType;\n flexDirection: 'row' | 'column' | 'row-reverse' | 'column-reverse' | undefined;\n };\n text: {\n flex: number;\n color: string;\n textAlign: string;\n };\n};\n\nconst ICON_WIDTH = 15;\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row'\n },\n text: {\n flex: 1,\n color: theme.colors.gray.medium,\n textAlign: 'center'\n }\n });\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n questionType: QuestionType\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: analyticsID,\n questionType\n });\n};\n\nconst Select = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme, analytics} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const {\n analyticsID,\n onBlur,\n onFocus,\n onChange,\n values,\n placeholder,\n value,\n style,\n textStyle,\n color,\n questionType,\n isFocused = false,\n isDisabled = false,\n testID = 'select'\n } = props;\n\n const handleFocus = useCallback(() => {\n if (!onFocus) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.OPEN_SELECT, analyticsID, analytics, questionType);\n onFocus();\n }, [analytics, analyticsID, onFocus, questionType]);\n\n const handleBlur = useCallback(() => {\n if (!onBlur) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.CLOSE_SELECT, analyticsID, analytics, questionType);\n onBlur();\n }, [analytics, analyticsID, onBlur, questionType]);\n\n const handleChange = useCallback(\n _value => {\n onChange(_value);\n handleBlur();\n },\n [onChange, handleBlur]\n );\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedItem = values.find(item => item.selected);\n const text = (selectedItem && selectedItem.text) || placeholder || null;\n\n return (\n <>\n <Touchable\n disabled={isDisabled}\n onPress={handleFocus}\n analyticsID={analyticsID}\n testID={`${testID}-input`}\n >\n <View style={[styleSheet.container, style]}>\n <Text style={[styleSheet.text, textStyle, color && {color}]}>{text}</Text>\n <Space type=\"tiny\" />\n <ArrowDown\n color={color || theme.colors.gray.dark}\n height={ICON_WIDTH}\n width={ICON_WIDTH}\n />\n </View>\n </Touchable>\n <Modal\n isVisible={isFocused}\n onSwipeComplete={handleBlur}\n onBackdropPress={handleBlur}\n testID={testID}\n >\n <ModalSelect\n value={value}\n values={values}\n onChange={handleChange}\n onClose={handleBlur}\n testID={`${testID}-modal`}\n />\n </Modal>\n </>\n );\n};\n\nexport default Select;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/atom/select-modal/index.native.tsx"],"names":["React","useState","useEffect","useCallback","View","StyleSheet","NovaCompositionNavigationArrowDown","ArrowDown","Modal","Touchable","ANALYTICS_EVENT_TYPE","Space","Text","ModalSelect","useTemplateContext","ICON_WIDTH","createStyleSheet","theme","create","container","alignItems","flexDirection","text","flex","color","colors","gray","medium","textAlign","logEvent","eventName","analyticsID","analytics","questionType","id","Select","props","templateContext","styleSheet","setStylesheet","_stylesheet","onBlur","onFocus","onChange","values","placeholder","value","style","textStyle","isFocused","isDisabled","testID","handleFocus","OPEN_SELECT","handleBlur","CLOSE_SELECT","handleChange","_value","selectedItem","find","item","selected","textStyles","push","dark"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle} from 'react-native';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Modal from 'react-native-modal';\nimport Touchable from '../../hoc/touchable/index.native';\nimport type {QuestionType} from '../../molecule/questions/types';\nimport {Theme} from '../../variables/theme.native';\n\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../variables/analytics';\nimport Space from '../space/index.native';\nimport Text from '../text/index.native';\nimport ModalSelect, {OnChangeFunction} from '../../hoc/modal/select/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type ChoiceItem = {\n text: string;\n selected: boolean;\n _id: string;\n};\n\nexport type Props = {\n analyticsID: string;\n questionType: QuestionType;\n isDisabled?: boolean;\n isFocused?: boolean;\n values: Array<ChoiceItem>;\n value?: string;\n placeholder?: string;\n color?: string;\n onChange: OnChangeFunction;\n onFocus: () => void;\n onBlur: () => void;\n style?: ViewStyle[];\n textStyle?: ViewStyle;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n text: ViewStyle;\n};\n\nconst ICON_WIDTH = 15;\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row'\n },\n text: {\n flex: 1,\n color: theme.colors.gray.medium,\n textAlign: 'center'\n }\n });\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n questionType: QuestionType\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: analyticsID,\n questionType\n });\n};\n\nconst Select = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme, analytics} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const {\n analyticsID,\n onBlur,\n onFocus,\n onChange,\n values,\n placeholder,\n value,\n style,\n textStyle,\n color,\n questionType,\n isFocused = false,\n isDisabled = false,\n testID = 'select'\n } = props;\n\n const handleFocus = useCallback(() => {\n if (!onFocus) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.OPEN_SELECT, analyticsID, analytics, questionType);\n onFocus();\n }, [analytics, analyticsID, onFocus, questionType]);\n\n const handleBlur = useCallback(() => {\n if (!onBlur) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.CLOSE_SELECT, analyticsID, analytics, questionType);\n onBlur();\n }, [analytics, analyticsID, onBlur, questionType]);\n\n const handleChange = useCallback(\n _value => {\n onChange(_value);\n handleBlur();\n },\n [onChange, handleBlur]\n );\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedItem = values.find(item => item.selected);\n const text = (selectedItem && selectedItem.text) || placeholder || null;\n const textStyles: TextStyle[] = [styleSheet.text];\n\n if (textStyle) {\n textStyles.push(textStyle);\n }\n if (color) {\n textStyles.push({color});\n }\n\n return (\n <>\n <Touchable\n disabled={isDisabled}\n onPress={handleFocus}\n analyticsID={analyticsID}\n testID={`${testID}-input`}\n >\n <View style={[styleSheet.container, style]}>\n <Text style={textStyles}>{text}</Text>\n <Space type=\"tiny\" />\n <ArrowDown\n color={color || theme.colors.gray.dark}\n height={ICON_WIDTH}\n width={ICON_WIDTH}\n />\n </View>\n </Touchable>\n <Modal\n isVisible={isFocused}\n onSwipeComplete={handleBlur}\n onBackdropPress={handleBlur}\n testID={testID}\n >\n <ModalSelect\n value={value}\n values={values}\n onChange={handleChange}\n onClose={handleBlur}\n testID={`${testID}-modal`}\n />\n </Modal>\n </>\n );\n};\n\nexport default Select;\n"],"file":"index.native.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/space/index.native.tsx"],"names":["React","View","useTemplateContext","Space","type","templateContext","theme","width","spacing","height"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAAQC,IAAR,QAAmB,cAAnB;AAEA,SAAQC,kBAAR,QAAiC,4CAAjC;;AAMA,MAAMC,KAAK,GAAG,CAAC;AAACC,EAAAA,IAAI,GAAG;AAAR,CAAD,KAA4B;AACxC,QAAMC,eAAe,GAAGH,kBAAkB,EAA1C;AAEA,QAAM;AAACI,IAAAA;AAAD,MAAUD,eAAhB;AAEA,sBAAO,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE;AAACE,MAAAA,KAAK,EAAED,KAAK,CAACE,OAAN,CAAcJ,IAAd,CAAR;AAA6BK,MAAAA,MAAM,EAAEH,KAAK,CAACE,OAAN,CAAcJ,IAAd;AAArC;AAAb,IAAP;AACD,CAND;;AAQA,eAAeD,KAAf","sourcesContent":["import * as React from 'react';\nimport {View} from 'react-native';\nimport type {SpaceType} from '../../variables/theme.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\ninterface Props {\n type?: SpaceType;\n}\n\nconst Space = ({type = 'tiny'}: Props) => {\n const templateContext = useTemplateContext();\n\n const {theme} = templateContext;\n\n return <View style={{width: theme.spacing[type], height: theme.spacing[type]}} />;\n};\n\nexport default Space;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/atom/space/index.native.tsx"],"names":["React","View","useTemplateContext","Space","type","templateContext","theme","width","spacing","height"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAAQC,IAAR,QAAmB,cAAnB;AAEA,SAAQC,kBAAR,QAAiC,4CAAjC;;AAMA,MAAMC,KAAK,GAAG,CAAC;AAACC,EAAAA,IAAI,GAAG;AAAR,CAAD,KAA4B;AACxC,QAAMC,eAAe,GAAGH,kBAAkB,EAA1C;AAEA,QAAM;AAACI,IAAAA;AAAD,MAAUD,eAAhB;AAEA,sBACE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE;AACLE,MAAAA,KAAK,EAAED,KAAK,CAACE,OAAN,CAAcJ,IAAd,CADF;AAELK,MAAAA,MAAM,EAAEH,KAAK,CAACE,OAAN,CAAcJ,IAAd;AAFH;AADT,IADF;AAQD,CAbD;;AAeA,eAAeD,KAAf","sourcesContent":["import * as React from 'react';\nimport {View} from 'react-native';\nimport type {SpaceType} from '../../variables/theme.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type Props = {\n type?: SpaceType;\n};\n\nconst Space = ({type = 'tiny'}: Props) => {\n const templateContext = useTemplateContext();\n\n const {theme} = templateContext;\n\n return (\n <View\n style={{\n width: theme.spacing[type],\n height: theme.spacing[type]\n }}\n />\n );\n};\n\nexport default Space;\n"],"file":"index.native.js"}
@@ -69,6 +69,7 @@ const Modal = props => {
69
69
  return null;
70
70
  }
71
71
 
72
+ const contentStyles = [styleSheet.content, contentStyle];
72
73
  return /*#__PURE__*/React.createElement(View, {
73
74
  style: styleSheet.container,
74
75
  testID: testID
@@ -89,7 +90,7 @@ const Modal = props => {
89
90
  backgroundColor: iconBackgroundColor
90
91
  }]
91
92
  }, renderIcon)) : null, /*#__PURE__*/React.createElement(View, {
92
- style: [styleSheet.content, headerBackgroundColor && styleSheet.contentWithHeader, renderIcon && styleSheet.contentWithIcon, contentStyle]
93
+ style: contentStyles
93
94
  }, children));
94
95
  };
95
96
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hoc/modal/index.native.tsx"],"names":["React","useState","useEffect","StyleSheet","View","HeaderBackButton","useTemplateContext","HEADER_HEIGHT","createStyleSheet","theme","create","container","borderRadius","radius","card","overflow","backgroundColor","colors","white","header","alignItems","justifyContent","paddingHorizontal","spacing","medium","height","content","paddingBottom","contentWithHeader","paddingTop","contentWithIcon","small","icon","marginTop","padding","thumbnail","alignSelf","iconContent","Modal","props","templateContext","styleSheet","setStylesheet","children","headerBackgroundColor","iconBackgroundColor","renderIcon","contentStyle","onClose","testID","_stylesheet","gray","dark"],"mappings":"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","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {StyleSheet, View, ViewStyle} from 'react-native';\nimport HeaderBackButton from '../../atom/header-back-button/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type Props = {\n children: React.ReactNode;\n headerBackgroundColor?: string;\n iconBackgroundColor?: string;\n renderIcon?: React.ReactNode;\n contentStyle?: ViewStyle;\n onClose: () => void;\n testID?: string;\n};\n\nexport const HEADER_HEIGHT = 64;\n\ntype StyleSheetType = {\n container: {\n borderRadius: number;\n overflow: string;\n backgroundColor: string;\n };\n header: {\n backgroundColor: string;\n alignItems: string;\n justifyContent: string;\n paddingHorizontal: number;\n height: number;\n };\n content: {\n paddingHorizontal: number;\n paddingBottom: number;\n alignItems: string;\n };\n contentWithHeader: {\n paddingTop: number;\n };\n contentWithIcon: {\n paddingTop: number;\n };\n icon: {\n marginTop: number;\n padding: number;\n backgroundColor: string;\n borderRadius: string;\n alignSelf: string;\n };\n iconContent: {\n backgroundColor: string;\n padding: number;\n borderRadius: number;\n justifyContent: string;\n alignItems: string;\n };\n};\n\nconst createStyleSheet = theme =>\n StyleSheet.create({\n container: {\n borderRadius: theme.radius.card,\n overflow: 'hidden',\n backgroundColor: theme.colors.white\n },\n header: {\n backgroundColor: theme.colors.white,\n alignItems: 'flex-end',\n justifyContent: 'center',\n paddingHorizontal: theme.spacing.medium,\n height: HEADER_HEIGHT\n },\n content: {\n paddingHorizontal: theme.spacing.medium,\n paddingBottom: theme.spacing.medium,\n alignItems: 'center'\n },\n contentWithHeader: {\n paddingTop: theme.spacing.medium\n },\n contentWithIcon: {\n paddingTop: theme.spacing.small\n },\n icon: {\n marginTop: -HEADER_HEIGHT * (3 / 4),\n padding: 5,\n backgroundColor: theme.colors.white,\n borderRadius: theme.radius.thumbnail,\n alignSelf: 'center'\n },\n iconContent: {\n backgroundColor: theme.colors.white,\n padding: theme.spacing.small,\n borderRadius: theme.radius.thumbnail,\n justifyContent: 'center',\n alignItems: 'center'\n }\n });\n\nconst Modal = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n\n const {\n children,\n headerBackgroundColor,\n iconBackgroundColor,\n renderIcon,\n contentStyle,\n onClose,\n testID\n } = props;\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} testID={testID}>\n <View style={[styleSheet.header, {backgroundColor: headerBackgroundColor}]}>\n <HeaderBackButton\n color={theme.colors.gray.dark}\n isFloating={false}\n testID=\"close-modal\"\n onPress={onClose}\n type=\"close\"\n />\n </View>\n {renderIcon ? (\n <View style={styleSheet.icon}>\n <View style={[styleSheet.iconContent, {backgroundColor: iconBackgroundColor}]}>\n {renderIcon}\n </View>\n </View>\n ) : null}\n <View\n style={[\n styleSheet.content,\n headerBackgroundColor && styleSheet.contentWithHeader,\n renderIcon && styleSheet.contentWithIcon,\n contentStyle\n ]}\n >\n {children}\n </View>\n </View>\n );\n};\n\nexport default Modal;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/hoc/modal/index.native.tsx"],"names":["React","useState","useEffect","StyleSheet","View","HeaderBackButton","useTemplateContext","HEADER_HEIGHT","createStyleSheet","theme","create","container","borderRadius","radius","card","overflow","backgroundColor","colors","white","header","alignItems","justifyContent","paddingHorizontal","spacing","medium","height","content","paddingBottom","contentWithHeader","paddingTop","contentWithIcon","small","icon","marginTop","padding","thumbnail","alignSelf","iconContent","Modal","props","templateContext","styleSheet","setStylesheet","children","headerBackgroundColor","iconBackgroundColor","renderIcon","contentStyle","onClose","testID","_stylesheet","contentStyles","gray","dark"],"mappings":"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","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {GestureResponderEvent, StyleSheet, View, ViewStyle} from 'react-native';\nimport HeaderBackButton from '../../atom/header-back-button/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\n\nexport type Props = {\n children: React.ReactNode;\n headerBackgroundColor?: string;\n iconBackgroundColor?: string;\n renderIcon?: React.ReactNode;\n contentStyle?: ViewStyle;\n onClose: (event: GestureResponderEvent) => any;\n testID?: string;\n};\n\nexport const HEADER_HEIGHT = 64;\n\ntype StyleSheetType = {\n container: ViewStyle;\n header: ViewStyle;\n content: ViewStyle;\n contentWithHeader: ViewStyle;\n contentWithIcon: ViewStyle;\n icon: ViewStyle;\n iconContent: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n borderRadius: theme.radius.card,\n overflow: 'hidden',\n backgroundColor: theme.colors.white\n },\n header: {\n backgroundColor: theme.colors.white,\n alignItems: 'flex-end',\n justifyContent: 'center',\n paddingHorizontal: theme.spacing.medium,\n height: HEADER_HEIGHT\n },\n content: {\n paddingHorizontal: theme.spacing.medium,\n paddingBottom: theme.spacing.medium,\n alignItems: 'center'\n },\n contentWithHeader: {\n paddingTop: theme.spacing.medium\n },\n contentWithIcon: {\n paddingTop: theme.spacing.small\n },\n icon: {\n marginTop: -HEADER_HEIGHT * (3 / 4),\n padding: 5,\n backgroundColor: theme.colors.white,\n borderRadius: theme.radius.thumbnail,\n alignSelf: 'center'\n },\n iconContent: {\n backgroundColor: theme.colors.white,\n padding: theme.spacing.small,\n borderRadius: theme.radius.thumbnail,\n justifyContent: 'center',\n alignItems: 'center'\n }\n });\n\nconst Modal = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n\n const {\n children,\n headerBackgroundColor,\n iconBackgroundColor,\n renderIcon,\n contentStyle,\n onClose,\n testID\n } = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const contentStyles = [styleSheet.content, contentStyle];\n\n return (\n <View style={styleSheet.container} testID={testID}>\n <View style={[styleSheet.header, {backgroundColor: headerBackgroundColor}]}>\n <HeaderBackButton\n color={theme.colors.gray.dark}\n isFloating={false}\n testID=\"close-modal\"\n onPress={onClose}\n type=\"close\"\n />\n </View>\n {renderIcon ? (\n <View style={styleSheet.icon}>\n <View style={[styleSheet.iconContent, {backgroundColor: iconBackgroundColor}]}>\n {renderIcon}\n </View>\n </View>\n ) : null}\n <View style={contentStyles}>{children}</View>\n </View>\n );\n};\n\nexport default Modal;\n"],"file":"index.native.js"}
@@ -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":"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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 '../../../molecule/questions/types';\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
+ {"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, GestureResponderEvent, ViewStyle} from 'react-native';\nimport {noop} from 'lodash/fp';\n\nimport {Theme} from '../../../variables/theme.native';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\n\nimport Modal from '../index.native';\nimport ModalSelectItem from '../select-item/index.native';\nimport {ChoiceItem} from '../../../atom/select-modal/index.native';\n\nexport type OnChangeFunction = (value: string) => void;\n\nexport type Props = {\n value?: string;\n values: Array<ChoiceItem> | undefined;\n onChange: OnChangeFunction;\n onClose?: (event: GestureResponderEvent) => void;\n testID?: string;\n};\n\ntype StyleSheetType = {\n content: ViewStyle;\n separator: ViewStyle;\n list: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n content: {\n paddingHorizontal: 0\n },\n separator: {\n borderTopWidth: 1,\n borderColor: theme.colors.border\n },\n list: {\n width: '100%'\n }\n });\n\nconst keyExtractor = (item: ChoiceItem, index: number): string => {\n return `modal-select-item-${index + 1}`;\n};\n\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"}
@@ -41,12 +41,18 @@ const ModalSelectItem = props => {
41
41
  isSelected,
42
42
  testID
43
43
  } = props;
44
+ const textStyle = [styleSheet.text];
45
+
46
+ if (isSelected) {
47
+ textStyle.push(styleSheet.selectedTextStyle);
48
+ }
49
+
44
50
  return /*#__PURE__*/React.createElement(Touchable, {
45
51
  onPress: onPress,
46
52
  style: styleSheet.container,
47
53
  testID: testID
48
54
  }, /*#__PURE__*/React.createElement(Text, {
49
- style: [styleSheet.text, isSelected && styleSheet.selectedTextStyle]
55
+ style: textStyle
50
56
  }, children));
51
57
  };
52
58
 
@@ -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,EAAEK,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"}
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","textStyle","push"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,QAAyC,OAAzC;AACA,SAA+BC,UAA/B,QAAsE,cAAtE;AAEA,OAAOC,IAAP,MAAiB,iCAAjB;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,SAAQC,kBAAR,QAAiC,+CAAjC;;AAgBA,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,EAAEK,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,QAAMS,SAAsB,GAAG,CAACP,UAAU,CAACV,IAAZ,CAA/B;;AACA,MAAIe,UAAJ,EAAgB;AACdE,IAAAA,SAAS,CAACC,IAAV,CAAeR,UAAU,CAACL,iBAA1B;AACD;;AAED,sBACE,oBAAC,SAAD;AAAW,IAAA,OAAO,EAAES,OAApB;AAA6B,IAAA,KAAK,EAAEJ,UAAU,CAACjB,SAA/C;AAA0D,IAAA,MAAM,EAAEuB;AAAlE,kBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEC;AAAb,KAAyBJ,QAAzB,CADF,CADF;AAKD,CA1BD;;AA4BA,eAAeN,eAAf","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {GestureResponderEvent, StyleSheet, TextStyle, ViewStyle} from 'react-native';\n\nimport Text from '../../../atom/text/index.native';\nimport Touchable from '../../touchable/index.native';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\nimport {Theme} from '../../../variables/theme.native';\n\nexport type Props = {\n isSelected?: boolean;\n children: string;\n onPress?: (event: GestureResponderEvent) => any;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n text: TextStyle;\n selectedTextStyle: TextStyle;\n};\n\nconst createStyleSheet = (brandTheme: any, theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n backgroundColor: theme.colors.white,\n padding: theme.spacing.small\n },\n text: {\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.black\n },\n selectedTextStyle: {\n color: brandTheme?.colors.primary\n }\n });\n\nconst ModalSelectItem = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [theme, brandTheme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const {children, onPress, isSelected, testID} = props;\n\n const textStyle: TextStyle[] = [styleSheet.text];\n if (isSelected) {\n textStyle.push(styleSheet.selectedTextStyle);\n }\n\n return (\n <Touchable onPress={onPress} style={styleSheet.container} testID={testID}>\n <Text style={textStyle}>{children}</Text>\n </Touchable>\n );\n};\n\nexport default ModalSelectItem;\n"],"file":"index.native.js"}
@@ -37,13 +37,13 @@ const Touchable = props => {
37
37
  const handlePress = useMemo(() => event => {
38
38
  if (!onPress) return;
39
39
  vibration?.vibrate();
40
- analytics && logEvent(ANALYTICS_EVENT_TYPE.PRESS, analyticsID, analytics, analyticsParams);
40
+ analytics && analyticsID && 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
45
  vibration?.vibrate();
46
- analytics && logEvent(ANALYTICS_EVENT_TYPE.LONG_PRESS, analyticsID, analytics, analyticsParams);
46
+ analytics && analyticsID && logEvent(ANALYTICS_EVENT_TYPE.LONG_PRESS, analyticsID, analytics, analyticsParams);
47
47
  onLongPress(event);
48
48
  }, [analytics, analyticsID, analyticsParams, onLongPress, vibration]);
49
49
 
@@ -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,EAAES,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,EAAES,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"}
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,SACEA,gBADF,EAEEC,kBAFF,QAQO,cARP;AAUA,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,IAAkC;AACtC,QAAI,CAACP,OAAL,EAAc;AAEdD,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IACPD,WADF,IAEEF,QAAQ,CAACN,oBAAoB,CAAC0B,KAAtB,EAA6BlB,WAA7B,EAA0CC,SAA1C,EAAqDC,eAArD,CAFV;AAGAO,IAAAA,OAAO,CAACO,KAAD,CAAP;AACD,GAVwB,EAWzB,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CO,OAA1C,EAAmDD,SAAnD,CAXyB,CAA3B;AAcA,QAAMW,eAAe,GAAG7B,OAAO,CAC7B,MAAO0B,KAAD,IAAkC;AACtC,QAAI,CAACN,WAAL,EAAkB;AAElBF,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IACPD,WADF,IAEEF,QAAQ,CAACN,oBAAoB,CAAC4B,UAAtB,EAAkCpB,WAAlC,EAA+CC,SAA/C,EAA0DC,eAA1D,CAFV;AAGAQ,IAAAA,WAAW,CAACM,KAAD,CAAX;AACD,GAV4B,EAW7B,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CQ,WAA1C,EAAuDF,SAAvD,CAX6B,CAA/B;;AAcA,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,CAlED;;AAoEA,eAAeV,SAAf","sourcesContent":["import {\n TouchableOpacity,\n TouchableHighlight,\n ViewStyle,\n LayoutChangeEvent,\n NativeSyntheticEvent,\n GestureResponderEvent,\n TargetedEvent\n} from 'react-native';\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: NativeSyntheticEvent<TargetedEvent>) => void;\n onFocus?: (event: NativeSyntheticEvent<TargetedEvent>) => void;\n onLayout?: (event: LayoutChangeEvent) => any;\n onLongPress?: (event: GestureResponderEvent) => any;\n onPress?: (event: GestureResponderEvent) => any;\n onPressIn?: (event: GestureResponderEvent) => any;\n onPressOut?: (event: GestureResponderEvent) => 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\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: GestureResponderEvent) => {\n if (!onPress) return;\n\n vibration?.vibrate();\n\n analytics &&\n analyticsID &&\n 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: GestureResponderEvent) => {\n if (!onLongPress) return;\n\n vibration?.vibrate();\n\n analytics &&\n analyticsID &&\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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/answer/prop-types.ts"],"names":["PropTypes","VideoPlayerPropTypes","TYPE_IMAGE","TYPE_VIDEO","TYPE_AUDIO","isType","name","oneOf","videoPropType","shape","type","isRequired","imgPropType","url","string","audioPropType","mediaUrl","MediaViewPropTypes","media","oneOfType","SelectOptionsPropTypes","selected","bool","validOption","value","AnswerPropTypes","title","onClick","func","onChange","image","options","arrayOf","propTypes","model","answer","help"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AAEA,OAAO,MAAMC,UAAU,GAAG,KAAnB;AACP,OAAO,MAAMC,UAAU,GAAG,OAAnB;AACP,OAAO,MAAMC,UAAU,GAAG,OAAnB;;AAEP,MAAMC,MAAM,GAAIC,IAAD,IAAkBN,SAAS,CAACO,KAAV,CAAgB,CAACD,IAAD,CAAhB,CAAjC;;AAEA,MAAME,aAAa,GAAGR,SAAS,CAACS,KAAV,uBACjBR,oBADiB;AAEpBS,EAAAA,IAAI,EAAEL,MAAM,CAACF,UAAD,CAAN,CAAmBQ;AAFL,GAAtB;AAKA,MAAMC,WAAW,GAAGZ,SAAS,CAACS,KAAV,CAAgB;AAClCC,EAAAA,IAAI,EAAEL,MAAM,CAACH,UAAD,CAAN,CAAmBS,UADS;AAElCE,EAAAA,GAAG,EAAEb,SAAS,CAACc,MAAV,CAAiBH;AAFY,CAAhB,CAApB;AAKA,MAAMI,aAAa,GAAGf,SAAS,CAACS,KAAV,CAAgB;AACpCC,EAAAA,IAAI,EAAEL,MAAM,CAACD,UAAD,CAAN,CAAmBO,UADW;AAEpCK,EAAAA,QAAQ,EAAEhB,SAAS,CAACc,MAAV,CAAiBH;AAFS,CAAhB,CAAtB;AAKA,OAAO,MAAMM,kBAAkB,GAAG;AAChCC,EAAAA,KAAK,EAAElB,SAAS,CAACmB,SAAV,CAAoB,CAACX,aAAD,EAAgBI,WAAhB,EAA6BG,aAA7B,CAApB;AADyB,CAA3B;AAIP,MAAMK,sBAAsB,GAAGpB,SAAS,CAACS,KAAV,CAAgB;AAC7CH,EAAAA,IAAI,EAAEN,SAAS,CAACc,MAD6B;AAE7CO,EAAAA,QAAQ,EAAErB,SAAS,CAACsB,IAFyB;AAG7CC,EAAAA,WAAW,EAAEvB,SAAS,CAACsB,IAHsB;AAI7CE,EAAAA,KAAK,EAAExB,SAAS,CAACc;AAJ4B,CAAhB,CAA/B;AAOA,MAAMW,eAAe,GAAGzB,SAAS,CAACS,KAAV,CAAgB;AACtCiB,EAAAA,KAAK,EAAE1B,SAAS,CAACc,MAAV,CAAiBH,UADc;AAEtC,gBAAcX,SAAS,CAACc,MAFc;AAGtCa,EAAAA,OAAO,EAAE3B,SAAS,CAAC4B,IAHmB;AAItCC,EAAAA,QAAQ,EAAE7B,SAAS,CAAC4B,IAJkB;AAKtCP,EAAAA,QAAQ,EAAErB,SAAS,CAACsB,IALkB;AAMtCQ,EAAAA,KAAK,EAAE9B,SAAS,CAACc,MANqB;AAOtCiB,EAAAA,OAAO,EAAE/B,SAAS,CAACgC,OAAV,CAAkBZ,sBAAlB,CAP6B;AAQtCV,EAAAA,IAAI,EAAEV,SAAS,CAACO,KAAV,CAAgB,CAAC,MAAD,EAAS,QAAT,CAAhB,CARgC;AAStCD,EAAAA,IAAI,EAAEN,SAAS,CAACc;AATsB,CAAhB,CAAxB;AAYA,MAAMmB,SAAS,GAAG;AAChBC,EAAAA,KAAK,EAAElC,SAAS,CAACS,KAAV,CAAgB;AACrBC,IAAAA,IAAI,EAAEV,SAAS,CAACO,KAAV,CAAgB,CACpB,SADoB,EAEpB,KAFoB,EAGpB,YAHoB,EAIpB,UAJoB,EAKpB,UALoB,EAMpB,QANoB,EAOpB,UAPoB,CAAhB,EAQHI,UATkB;AAUrBwB,IAAAA,MAAM,EAAEnC,SAAS,CAACgC,OAAV,CAAkBP,eAAlB;AAVa,GAAhB,EAWJd,UAZa;AAahByB,EAAAA,IAAI,EAAEpC,SAAS,CAACc,MAbA;AAchBI,EAAAA,KAAK,EAAED,kBAAkB,CAACC;AAdV,CAAlB;AAmDA,eAAee,SAAf","sourcesContent":["import PropTypes from 'prop-types';\nimport VideoPlayerPropTypes from '../video-player/prop-types';\n\nexport const TYPE_IMAGE = 'img';\nexport const TYPE_VIDEO = 'video';\nexport const TYPE_AUDIO = 'audio';\n\nconst isType = (name: string) => PropTypes.oneOf([name]);\n\nconst videoPropType = PropTypes.shape({\n ...VideoPlayerPropTypes,\n type: isType(TYPE_VIDEO).isRequired\n});\n\nconst imgPropType = PropTypes.shape({\n type: isType(TYPE_IMAGE).isRequired,\n url: PropTypes.string.isRequired\n});\n\nconst audioPropType = PropTypes.shape({\n type: isType(TYPE_AUDIO).isRequired,\n mediaUrl: PropTypes.string.isRequired\n});\n\nexport const MediaViewPropTypes = {\n media: PropTypes.oneOfType([videoPropType, imgPropType, audioPropType])\n};\n\nconst SelectOptionsPropTypes = PropTypes.shape({\n name: PropTypes.string,\n selected: PropTypes.bool,\n validOption: PropTypes.bool,\n value: PropTypes.string\n});\n\nconst AnswerPropTypes = PropTypes.shape({\n title: PropTypes.string.isRequired,\n 'aria-label': PropTypes.string,\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n selected: PropTypes.bool,\n image: PropTypes.string,\n options: PropTypes.arrayOf(SelectOptionsPropTypes),\n type: PropTypes.oneOf(['text', 'select']),\n name: PropTypes.string\n});\n\nconst propTypes = {\n model: PropTypes.shape({\n type: PropTypes.oneOf([\n 'qcmDrag',\n 'qcm',\n 'qcmGraphic',\n 'freeText',\n 'dropDown',\n 'slider',\n 'template'\n ]).isRequired,\n answer: PropTypes.arrayOf(AnswerPropTypes)\n }).isRequired,\n help: PropTypes.string,\n media: MediaViewPropTypes.media\n};\n\ntype SelectOptions = {\n name: string;\n selected: boolean;\n validOption: boolean;\n value: string;\n};\n\ntype Answer = {\n title?: string;\n 'aria-label'?: string;\n onClick?: () => void;\n onChange?: (value: string) => void;\n selected?: boolean;\n image?: string;\n options?: SelectOptions[];\n type?: 'text' | 'select';\n name?: string;\n};\n\nexport type Props = {\n model: {\n type: 'qcmDrag' | 'qcm' | 'qcmGraphic' | 'freeText' | 'dropDown' | 'slider' | 'template';\n answers?: Answer[];\n template?: string;\n onChange?: (value: string | number) => void;\n onSliderChange?: (value: number) => void;\n minLabel?: string;\n maxLabel?: string;\n title?: string;\n };\n help: string;\n media: any;\n};\n\nexport default propTypes;\n"],"file":"prop-types.js"}
1
+ {"version":3,"sources":["../../../src/molecule/answer/prop-types.ts"],"names":["PropTypes","VideoPlayerPropTypes","TYPE_IMAGE","TYPE_VIDEO","TYPE_AUDIO","isType","name","oneOf","videoPropType","shape","type","isRequired","imgPropType","url","string","audioPropType","mediaUrl","MediaViewPropTypes","media","oneOfType","SelectOptionsPropTypes","selected","bool","validOption","value","AnswerPropTypes","title","onClick","func","onChange","image","options","arrayOf","propTypes","model","answer","help"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AAEA,OAAO,MAAMC,UAAU,GAAG,KAAnB;AACP,OAAO,MAAMC,UAAU,GAAG,OAAnB;AACP,OAAO,MAAMC,UAAU,GAAG,OAAnB;;AAEP,MAAMC,MAAM,GAAIC,IAAD,IAAkBN,SAAS,CAACO,KAAV,CAAgB,CAACD,IAAD,CAAhB,CAAjC;;AAEA,MAAME,aAAa,GAAGR,SAAS,CAACS,KAAV,uBACjBR,oBADiB;AAEpBS,EAAAA,IAAI,EAAEL,MAAM,CAACF,UAAD,CAAN,CAAmBQ;AAFL,GAAtB;AAKA,MAAMC,WAAW,GAAGZ,SAAS,CAACS,KAAV,CAAgB;AAClCC,EAAAA,IAAI,EAAEL,MAAM,CAACH,UAAD,CAAN,CAAmBS,UADS;AAElCE,EAAAA,GAAG,EAAEb,SAAS,CAACc,MAAV,CAAiBH;AAFY,CAAhB,CAApB;AAKA,MAAMI,aAAa,GAAGf,SAAS,CAACS,KAAV,CAAgB;AACpCC,EAAAA,IAAI,EAAEL,MAAM,CAACD,UAAD,CAAN,CAAmBO,UADW;AAEpCK,EAAAA,QAAQ,EAAEhB,SAAS,CAACc,MAAV,CAAiBH;AAFS,CAAhB,CAAtB;AAKA,OAAO,MAAMM,kBAAkB,GAAG;AAChCC,EAAAA,KAAK,EAAElB,SAAS,CAACmB,SAAV,CAAoB,CAACX,aAAD,EAAgBI,WAAhB,EAA6BG,aAA7B,CAApB;AADyB,CAA3B;AAIP,MAAMK,sBAAsB,GAAGpB,SAAS,CAACS,KAAV,CAAgB;AAC7CH,EAAAA,IAAI,EAAEN,SAAS,CAACc,MAD6B;AAE7CO,EAAAA,QAAQ,EAAErB,SAAS,CAACsB,IAFyB;AAG7CC,EAAAA,WAAW,EAAEvB,SAAS,CAACsB,IAHsB;AAI7CE,EAAAA,KAAK,EAAExB,SAAS,CAACc;AAJ4B,CAAhB,CAA/B;AAOA,MAAMW,eAAe,GAAGzB,SAAS,CAACS,KAAV,CAAgB;AACtCiB,EAAAA,KAAK,EAAE1B,SAAS,CAACc,MAAV,CAAiBH,UADc;AAEtC,gBAAcX,SAAS,CAACc,MAFc;AAGtCa,EAAAA,OAAO,EAAE3B,SAAS,CAAC4B,IAHmB;AAItCC,EAAAA,QAAQ,EAAE7B,SAAS,CAAC4B,IAJkB;AAKtCP,EAAAA,QAAQ,EAAErB,SAAS,CAACsB,IALkB;AAMtCQ,EAAAA,KAAK,EAAE9B,SAAS,CAACc,MANqB;AAOtCiB,EAAAA,OAAO,EAAE/B,SAAS,CAACgC,OAAV,CAAkBZ,sBAAlB,CAP6B;AAQtCV,EAAAA,IAAI,EAAEV,SAAS,CAACO,KAAV,CAAgB,CAAC,MAAD,EAAS,QAAT,CAAhB,CARgC;AAStCD,EAAAA,IAAI,EAAEN,SAAS,CAACc;AATsB,CAAhB,CAAxB;AAYA,MAAMmB,SAAS,GAAG;AAChBC,EAAAA,KAAK,EAAElC,SAAS,CAACS,KAAV,CAAgB;AACrBC,IAAAA,IAAI,EAAEV,SAAS,CAACO,KAAV,CAAgB,CACpB,SADoB,EAEpB,KAFoB,EAGpB,YAHoB,EAIpB,UAJoB,EAKpB,UALoB,EAMpB,QANoB,EAOpB,UAPoB,CAAhB,EAQHI,UATkB;AAUrBwB,IAAAA,MAAM,EAAEnC,SAAS,CAACgC,OAAV,CAAkBP,eAAlB;AAVa,GAAhB,EAWJd,UAZa;AAahByB,EAAAA,IAAI,EAAEpC,SAAS,CAACc,MAbA;AAchBI,EAAAA,KAAK,EAAED,kBAAkB,CAACC;AAdV,CAAlB;AAmDA,eAAee,SAAf","sourcesContent":["import PropTypes from 'prop-types';\nimport VideoPlayerPropTypes from '../video-player/prop-types';\n\nexport const TYPE_IMAGE = 'img';\nexport const TYPE_VIDEO = 'video';\nexport const TYPE_AUDIO = 'audio';\n\nconst isType = (name: string) => PropTypes.oneOf([name]);\n\nconst videoPropType = PropTypes.shape({\n ...VideoPlayerPropTypes,\n type: isType(TYPE_VIDEO).isRequired\n});\n\nconst imgPropType = PropTypes.shape({\n type: isType(TYPE_IMAGE).isRequired,\n url: PropTypes.string.isRequired\n});\n\nconst audioPropType = PropTypes.shape({\n type: isType(TYPE_AUDIO).isRequired,\n mediaUrl: PropTypes.string.isRequired\n});\n\nexport const MediaViewPropTypes = {\n media: PropTypes.oneOfType([videoPropType, imgPropType, audioPropType])\n};\n\nconst SelectOptionsPropTypes = PropTypes.shape({\n name: PropTypes.string,\n selected: PropTypes.bool,\n validOption: PropTypes.bool,\n value: PropTypes.string\n});\n\nconst AnswerPropTypes = PropTypes.shape({\n title: PropTypes.string.isRequired,\n 'aria-label': PropTypes.string,\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n selected: PropTypes.bool,\n image: PropTypes.string,\n options: PropTypes.arrayOf(SelectOptionsPropTypes),\n type: PropTypes.oneOf(['text', 'select']),\n name: PropTypes.string\n});\n\nconst propTypes = {\n model: PropTypes.shape({\n type: PropTypes.oneOf([\n 'qcmDrag',\n 'qcm',\n 'qcmGraphic',\n 'freeText',\n 'dropDown',\n 'slider',\n 'template'\n ]).isRequired,\n answer: PropTypes.arrayOf(AnswerPropTypes)\n }).isRequired,\n help: PropTypes.string,\n media: MediaViewPropTypes.media\n};\n\ntype SelectOptions = {\n name: string;\n selected: boolean;\n validOption: boolean;\n value: string;\n};\n\ntype Answer = {\n title?: string;\n 'aria-label'?: string;\n onClick?: () => void;\n onChange?: (value: string) => void;\n selected?: boolean;\n image?: string;\n options?: SelectOptions[];\n type: 'text' | 'select';\n name?: string;\n};\n\nexport type Props = {\n model: {\n type: 'qcmDrag' | 'qcm' | 'qcmGraphic' | 'freeText' | 'dropDown' | 'slider' | 'template';\n answers?: Answer[];\n template?: string;\n onChange?: (value: string | number) => void;\n onSliderChange?: (value: number) => void;\n minLabel?: string;\n maxLabel?: string;\n title?: string;\n };\n help: string;\n media: any;\n};\n\nexport default propTypes;\n"],"file":"prop-types.js"}