@coorpacademy/components 10.23.5 → 10.23.7

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 (115) 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.map +1 -1
  31. package/es/organism/review-slide/style.css +1 -1
  32. package/es/organism/review-stacked-slides/index.native.js +1 -2
  33. package/es/organism/review-stacked-slides/index.native.js.map +1 -1
  34. package/es/organism/review-stacked-slides/prop-types.js.map +1 -1
  35. package/es/organism/review-stacked-slides/style.css +0 -3
  36. package/es/template/app-player/loading/index.js +9 -3
  37. package/es/template/app-player/loading/index.js.map +1 -1
  38. package/es/template/app-player/player/index.js +5 -1
  39. package/es/template/app-player/player/index.js.map +1 -1
  40. package/es/template/app-player/player/slides/index.js +12 -4
  41. package/es/template/app-player/player/slides/index.js.map +1 -1
  42. package/es/template/app-player/popin-correction/index.js +6 -3
  43. package/es/template/app-player/popin-correction/index.js.map +1 -1
  44. package/es/template/app-player/popin-end/index.js +6 -3
  45. package/es/template/app-player/popin-end/index.js.map +1 -1
  46. package/es/template/app-player/popin-header/index.js +1 -1
  47. package/es/template/app-player/popin-header/index.js.map +1 -1
  48. package/es/template/app-review/player/index.js +8 -3
  49. package/es/template/app-review/player/index.js.map +1 -1
  50. package/es/template/app-review/player/index.native.js +2 -1
  51. package/es/template/app-review/player/index.native.js.map +1 -1
  52. package/es/template/app-review/player/prop-types.js +5 -1
  53. package/es/template/app-review/player/prop-types.js.map +1 -1
  54. package/es/template/app-review/player/style.css +10 -0
  55. package/es/variables/theme.native.js.map +1 -1
  56. package/lib/atom/choice/index.native.js +17 -15
  57. package/lib/atom/choice/index.native.js.map +1 -1
  58. package/lib/atom/header-back-button/index.native.js.map +1 -1
  59. package/lib/atom/html/index.native.js +8 -31
  60. package/lib/atom/html/index.native.js.map +1 -1
  61. package/lib/atom/select-modal/index.native.js +13 -3
  62. package/lib/atom/select-modal/index.native.js.map +1 -1
  63. package/lib/atom/space/index.native.js.map +1 -1
  64. package/lib/hoc/modal/index.native.js +2 -1
  65. package/lib/hoc/modal/index.native.js.map +1 -1
  66. package/lib/hoc/modal/select/index.native.js.map +1 -1
  67. package/lib/hoc/modal/select-item/index.native.js +7 -1
  68. package/lib/hoc/modal/select-item/index.native.js.map +1 -1
  69. package/lib/hoc/touchable/index.native.js +2 -2
  70. package/lib/hoc/touchable/index.native.js.map +1 -1
  71. package/lib/molecule/answer/prop-types.js.map +1 -1
  72. package/lib/molecule/brand-logo/index.native.js +8 -3
  73. package/lib/molecule/brand-logo/index.native.js.map +1 -1
  74. package/lib/molecule/cm-popin/style.css +14 -3
  75. package/lib/molecule/questions/free-text/index.native.js.map +1 -1
  76. package/lib/molecule/questions/mobile/draggable/index.native.js.map +1 -1
  77. package/lib/molecule/questions/mobile/slider/index.native.js.map +1 -1
  78. package/lib/molecule/questions/mobile/switch/index.native.js.map +1 -1
  79. package/lib/molecule/questions/mobile/template/index.native.js +10 -7
  80. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
  81. package/lib/organism/header-v2/index.native.js.map +1 -1
  82. package/lib/organism/mobile-navigation/index.native.js.map +1 -1
  83. package/lib/organism/review-slide/index.native.js +3 -3
  84. package/lib/organism/review-slide/index.native.js.map +1 -1
  85. package/lib/organism/review-slide/prop-types.js.map +1 -1
  86. package/lib/organism/review-slide/style.css +1 -1
  87. package/lib/organism/review-stacked-slides/index.native.js +1 -2
  88. package/lib/organism/review-stacked-slides/index.native.js.map +1 -1
  89. package/lib/organism/review-stacked-slides/prop-types.js.map +1 -1
  90. package/lib/organism/review-stacked-slides/style.css +0 -3
  91. package/lib/template/app-player/loading/index.js +11 -3
  92. package/lib/template/app-player/loading/index.js.map +1 -1
  93. package/lib/template/app-player/player/index.js +5 -1
  94. package/lib/template/app-player/player/index.js.map +1 -1
  95. package/lib/template/app-player/player/slides/index.js +13 -4
  96. package/lib/template/app-player/player/slides/index.js.map +1 -1
  97. package/lib/template/app-player/popin-correction/index.js +7 -3
  98. package/lib/template/app-player/popin-correction/index.js.map +1 -1
  99. package/lib/template/app-player/popin-end/index.js +7 -3
  100. package/lib/template/app-player/popin-end/index.js.map +1 -1
  101. package/lib/template/app-player/popin-header/index.js +1 -1
  102. package/lib/template/app-player/popin-header/index.js.map +1 -1
  103. package/lib/template/app-review/player/index.js +9 -3
  104. package/lib/template/app-review/player/index.js.map +1 -1
  105. package/lib/template/app-review/player/index.native.js +2 -1
  106. package/lib/template/app-review/player/index.native.js.map +1 -1
  107. package/lib/template/app-review/player/prop-types.js +6 -1
  108. package/lib/template/app-review/player/prop-types.js.map +1 -1
  109. package/lib/template/app-review/player/style.css +10 -0
  110. package/lib/variables/theme.native.js.map +1 -1
  111. package/package.json +6 -4
  112. package/es/types/styles.js +0 -2
  113. package/es/types/styles.js.map +0 -1
  114. package/lib/types/styles.js +0 -2
  115. package/lib/types/styles.js.map +0 -1
@@ -1,3 +1,5 @@
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
+
1
3
  import React from 'react';
2
4
  import { StyleSheet } from 'react-native';
3
5
  import ImageBackground from '../../atom/image-background/index.native';
@@ -15,10 +17,13 @@ const BrandLogo = ({
15
17
  const {
16
18
  brandTheme
17
19
  } = templateContext;
20
+
21
+ const imageStyle = _extends(_extends({}, styles.logo), {}, {
22
+ height
23
+ });
24
+
18
25
  return /*#__PURE__*/React.createElement(ImageBackground, {
19
- style: [styles.logo, {
20
- height
21
- }],
26
+ style: imageStyle,
22
27
  testID: "brand-logo",
23
28
  source: {
24
29
  uri: brandTheme.images['logo-mobile']
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/brand-logo/index.native.tsx"],"names":["React","StyleSheet","ImageBackground","useTemplateContext","styles","create","logo","width","BrandLogo","height","templateContext","brandTheme","uri","images"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAQC,UAAR,QAAyB,cAAzB;AACA,OAAOC,eAAP,MAA4B,0CAA5B;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;AAYA,MAAMC,MAAsB,GAAGH,UAAU,CAACI,MAAX,CAAkB;AAC/CC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,EAAE;AADH;AADyC,CAAlB,CAA/B;;AAMA,MAAMC,SAAS,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,KAAqB;AACrC,QAAMC,eAAe,GAAGP,kBAAkB,EAA1C;AACA,QAAM;AAACQ,IAAAA;AAAD,MAAeD,eAArB;AAEA,sBACE,oBAAC,eAAD;AACE,IAAA,KAAK,EAAE,CAACN,MAAM,CAACE,IAAR,EAAc;AAACG,MAAAA;AAAD,KAAd,CADT;AAEE,IAAA,MAAM,EAAC,YAFT;AAGE,IAAA,MAAM,EAAE;AACNG,MAAAA,GAAG,EAAED,UAAU,CAACE,MAAX,CAAkB,aAAlB;AADC,KAHV;AAME,IAAA,UAAU,EAAC;AANb,IADF;AAUD,CAdD;;AAgBA,eAAeL,SAAf","sourcesContent":["import React from 'react';\nimport {StyleSheet} from 'react-native';\nimport ImageBackground from '../../atom/image-background/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport interface Props {\n height: number;\n}\n\ntype StyleSheetType = {\n logo: {\n width: string;\n };\n};\n\nconst styles: StyleSheetType = StyleSheet.create({\n logo: {\n width: '100%'\n }\n});\n\nconst BrandLogo = ({height}: Props) => {\n const templateContext = useTemplateContext();\n const {brandTheme} = templateContext;\n\n return (\n <ImageBackground\n style={[styles.logo, {height}]}\n testID=\"brand-logo\"\n source={{\n uri: brandTheme.images['logo-mobile']\n }}\n resizeMode=\"contain\"\n />\n );\n};\n\nexport default BrandLogo;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/molecule/brand-logo/index.native.tsx"],"names":["React","StyleSheet","ImageBackground","useTemplateContext","styles","create","logo","width","BrandLogo","height","templateContext","brandTheme","imageStyle","uri","images"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAQC,UAAR,QAAoC,cAApC;AACA,OAAOC,eAAP,MAA4B,0CAA5B;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;AAYA,MAAMC,MAAsB,GAAGH,UAAU,CAACI,MAAX,CAAkB;AAC/CC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,EAAE;AADH;AADyC,CAAlB,CAA/B;;AAMA,MAAMC,SAAS,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,KAAqB;AACrC,QAAMC,eAAe,GAAGP,kBAAkB,EAA1C;AACA,QAAM;AAACQ,IAAAA;AAAD,MAAeD,eAArB;;AAEA,QAAME,UAAqB,yBACtBR,MAAM,CAACE,IADe;AAEzBG,IAAAA;AAFyB,IAA3B;;AAKA,sBACE,oBAAC,eAAD;AACE,IAAA,KAAK,EAAEG,UADT;AAEE,IAAA,MAAM,EAAC,YAFT;AAGE,IAAA,MAAM,EAAE;AACNC,MAAAA,GAAG,EAAEF,UAAU,CAACG,MAAX,CAAkB,aAAlB;AADC,KAHV;AAME,IAAA,UAAU,EAAC;AANb,IADF;AAUD,CAnBD;;AAqBA,eAAeN,SAAf","sourcesContent":["import React from 'react';\nimport {StyleSheet, ViewStyle} from 'react-native';\nimport ImageBackground from '../../atom/image-background/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport interface Props {\n height: number;\n}\n\ntype StyleSheetType = {\n logo: {\n width: string;\n };\n};\n\nconst styles: StyleSheetType = StyleSheet.create({\n logo: {\n width: '100%'\n }\n});\n\nconst BrandLogo = ({height}: Props) => {\n const templateContext = useTemplateContext();\n const {brandTheme} = templateContext;\n\n const imageStyle: ViewStyle = {\n ...styles.logo,\n height\n };\n\n return (\n <ImageBackground\n style={imageStyle}\n testID=\"brand-logo\"\n source={{\n uri: brandTheme.images['logo-mobile']\n }}\n resizeMode=\"contain\"\n />\n );\n};\n\nexport default BrandLogo;\n"],"file":"index.native.js"}
@@ -347,11 +347,22 @@ button {
347
347
  }
348
348
 
349
349
  _:-ms-fullscreen,
350
- .descriptionText {
350
+ .descriptionText,
351
+ .buttonContainer {
351
352
  width: 85%;
352
353
  }
353
354
 
354
355
  _:-ms-fullscreen,
355
356
  .button {
356
- width: 40%;
357
- }
357
+ width: 100%;
358
+ }
359
+
360
+ _:-ms-fullscreen,
361
+ .popin {
362
+ position: relative;
363
+ }
364
+
365
+ _:-ms-fullscreen
366
+ .buttonContainer {
367
+ width: 85%;
368
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/free-text/index.native.tsx"],"names":["View","StyleSheet","TextInput","React","useState","useEffect","useCallback","useTemplateContext","ANALYTICS_EVENT_TYPE","createStyleSheet","brandTheme","theme","create","input","padding","spacing","tiny","borderWidth","borderColor","colors","gray","lightMedium","borderRadius","radius","common","backgroundColor","white","minWidth","text","primary","color","medium","fontWeight","bold","fontSize","regular","textAlign","spaced","paddingVertical","fullWitdh","width","logEvent","eventName","analytics","questionType","id","FreeText","props","templateContext","styleSheet","setStylesheet","translations","PLACEHOLDER_COLOR","fullWidth","testID","onChange","isDisabled","value","handleFocus","INPUT_FOCUS","handleBlur","INPUT_BLUR","_stylesheet","typeHere"],"mappings":"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","sourcesContent":["import {View, StyleSheet, TextInput} from 'react-native';\nimport React, {useState, useEffect, useCallback} from 'react';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../../variables/analytics';\nimport {Theme} from '../../../variables/theme.native';\nimport {FontSize, TextAlign} from '../../../types/styles';\n\ntype QuestionType = 'basic' | 'template';\n\ninterface Props {\n fullWidth?: boolean;\n testID: string;\n questionType: QuestionType;\n analytics?: Analytics;\n onChange: (text: string) => void;\n isDisabled?: boolean;\n value?: string; // when value is undefined, TextInput acts as not controlled\n}\n\ntype StyleSheetType = {\n input: {\n padding: number;\n borderWidth: number;\n borderColor: string;\n borderRadius: number;\n backgroundColor: string;\n minWidth: number;\n };\n text: {\n color: string;\n fontWeight:\n | 'normal'\n | 'bold'\n | '100'\n | '200'\n | '300'\n | '400'\n | '500'\n | '600'\n | '700'\n | '800'\n | '900'\n | undefined;\n fontSize: FontSize;\n textAlign: TextAlign;\n };\n spaced: {\n paddingVertical: number;\n };\n fullWitdh: {\n width: string;\n };\n};\n\nconst createStyleSheet = (brandTheme: any, theme: Theme) =>\n StyleSheet.create({\n input: {\n padding: theme.spacing.tiny,\n borderWidth: 1,\n borderColor: theme.colors.gray.lightMedium,\n borderRadius: theme.radius.common,\n backgroundColor: theme.colors.white,\n minWidth: 175\n },\n text: {\n borderColor: brandTheme?.colors.primary,\n color: brandTheme?.colors.primary || theme.colors.gray.medium,\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.regular,\n textAlign: 'center'\n },\n spaced: {\n paddingVertical: theme.spacing.tiny\n },\n fullWitdh: {\n width: '100%'\n }\n });\n\nconst logEvent = (eventName: string, analytics: Analytics, questionType: QuestionType) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: `question-input-text`,\n questionType\n });\n};\n\nconst FreeText = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme, translations} = templateContext;\n const PLACEHOLDER_COLOR = theme.colors.gray.medium;\n\n // ------------------------------------\n\n const {\n analytics,\n questionType,\n fullWidth = false,\n testID,\n onChange,\n isDisabled = false,\n value\n } = props;\n\n // ------------------------------------\n\n const handleFocus = useCallback(\n () => analytics && logEvent(ANALYTICS_EVENT_TYPE.INPUT_FOCUS, analytics, questionType),\n [analytics, questionType]\n );\n\n const handleBlur = useCallback(\n () => analytics && logEvent(ANALYTICS_EVENT_TYPE.INPUT_BLUR, analytics, questionType),\n [analytics, questionType]\n );\n\n // ------------------------------------\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [brandTheme, theme]);\n\n // ------------------------------------\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={[styleSheet.spaced, fullWidth && styleSheet.fullWitdh]}>\n <TextInput\n style={[styleSheet.input, styleSheet.text]}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChangeText={onChange}\n placeholder={translations.typeHere}\n placeholderTextColor={PLACEHOLDER_COLOR}\n value={value}\n testID={testID}\n editable={!isDisabled}\n selectTextOnFocus={!isDisabled}\n />\n </View>\n );\n};\n\nexport default FreeText;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/questions/free-text/index.native.tsx"],"names":["View","StyleSheet","TextInput","React","useState","useEffect","useCallback","useTemplateContext","ANALYTICS_EVENT_TYPE","createStyleSheet","brandTheme","theme","create","input","padding","spacing","tiny","borderWidth","borderColor","colors","gray","lightMedium","borderRadius","radius","common","backgroundColor","white","minWidth","text","primary","color","medium","fontWeight","bold","fontSize","regular","textAlign","spaced","paddingVertical","fullWitdh","width","logEvent","eventName","analytics","questionType","id","FreeText","props","templateContext","styleSheet","setStylesheet","translations","PLACEHOLDER_COLOR","fullWidth","testID","onChange","isDisabled","value","handleFocus","INPUT_FOCUS","handleBlur","INPUT_BLUR","_stylesheet","typeHere"],"mappings":"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","sourcesContent":["import {View, StyleSheet, TextInput, ViewStyle} from 'react-native';\nimport React, {useState, useEffect, useCallback} from 'react';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../../variables/analytics';\nimport {Theme} from '../../../variables/theme.native';\n\ntype QuestionType = 'basic' | 'template';\n\ninterface Props {\n fullWidth?: boolean;\n testID: string;\n questionType: QuestionType;\n analytics?: Analytics;\n onChange: (text: string) => void;\n isDisabled?: boolean;\n value?: string; // when value is undefined, TextInput acts as not controlled\n}\n\ntype StyleSheetType = {\n input: ViewStyle;\n text: ViewStyle;\n spaced: ViewStyle;\n fullWitdh: ViewStyle;\n};\n\nconst createStyleSheet = (brandTheme: any, theme: Theme): StyleSheetType =>\n StyleSheet.create({\n input: {\n padding: theme.spacing.tiny,\n borderWidth: 1,\n borderColor: theme.colors.gray.lightMedium,\n borderRadius: theme.radius.common,\n backgroundColor: theme.colors.white,\n minWidth: 175\n },\n text: {\n borderColor: brandTheme?.colors.primary,\n color: brandTheme?.colors.primary || theme.colors.gray.medium,\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.regular,\n textAlign: 'center'\n },\n spaced: {\n paddingVertical: theme.spacing.tiny\n },\n fullWitdh: {\n width: '100%'\n }\n });\n\nconst logEvent = (eventName: string, analytics: Analytics, questionType: QuestionType) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: `question-input-text`,\n questionType\n });\n};\n\nconst FreeText = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme, translations} = templateContext;\n const PLACEHOLDER_COLOR = theme.colors.gray.medium;\n\n // ------------------------------------\n\n const {\n analytics,\n questionType,\n fullWidth = false,\n testID,\n onChange,\n isDisabled = false,\n value\n } = props;\n\n // ------------------------------------\n\n const handleFocus = useCallback(\n () => analytics && logEvent(ANALYTICS_EVENT_TYPE.INPUT_FOCUS, analytics, questionType),\n [analytics, questionType]\n );\n\n const handleBlur = useCallback(\n () => analytics && logEvent(ANALYTICS_EVENT_TYPE.INPUT_BLUR, analytics, questionType),\n [analytics, questionType]\n );\n\n // ------------------------------------\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [brandTheme, theme]);\n\n // ------------------------------------\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={[styleSheet.spaced, fullWidth && styleSheet.fullWitdh]}>\n <TextInput\n style={[styleSheet.input, styleSheet.text]}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChangeText={onChange}\n placeholder={translations.typeHere}\n placeholderTextColor={PLACEHOLDER_COLOR}\n value={value}\n testID={testID}\n editable={!isDisabled}\n selectTextOnFocus={!isDisabled}\n />\n </View>\n );\n};\n\nexport default FreeText;\n"],"file":"index.native.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/molecule/questions/mobile/draggable/index.native.tsx"],"names":["React","useEffect","useState","View","StyleSheet","Text","QuestionChoice","useTemplateContext","createDropZoneStyle","theme","create","choice","margin","spacing","micro","dropZone","flexWrap","flexDirection","borderStyle","borderWidth","padding","borderColor","colors","gray","light","backgroundColor","extra","borderRadius","radius","common","marginBottom","tiny","emptyContent","justifyContent","alignContent","alignItems","height","text","color","medium","DropZone","props","templateContext","translations","onPress","styleSheet","setStylesheet","_stylesheet","choices","mappedSortedChoices","map","item","_id","label","hasNoSelectedChoices","length","selectSomethingBelow","createStyleSheet","pickableChoices","QuestionDraggable","testID","selectedChoices","filter","selected","index"],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View, StyleSheet, Text} from 'react-native';\nimport QuestionChoice from '../../../../atom/choice/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {Theme} from '../../../../variables/theme.native';\n\nimport type {Choice} from '../../types';\n\nexport interface DropZoneProps {\n choices: Array<Choice>;\n onPress: (item: Choice) => () => void;\n}\n\nconst createDropZoneStyle = (theme: Theme) =>\n StyleSheet.create({\n choice: {\n margin: theme.spacing.micro\n },\n dropZone: {\n flexWrap: 'wrap',\n flexDirection: 'row',\n borderStyle: 'dashed',\n borderWidth: 2,\n padding: theme.spacing.micro,\n borderColor: theme.colors.gray.light,\n backgroundColor: theme.colors.gray.extra,\n borderRadius: theme.radius.common,\n marginBottom: theme.spacing.tiny\n },\n emptyContent: {\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n height: 60\n },\n text: {\n color: theme.colors.gray.medium\n }\n });\n\nconst DropZone = (props: DropZoneProps) => {\n const templateContext = useTemplateContext();\n const {theme, translations} = templateContext;\n const {onPress} = props;\n\n const [styleSheet, setStylesheet] = useState<any | null>(null);\n\n useEffect(() => {\n const _stylesheet = createDropZoneStyle(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const {choices} = props;\n const mappedSortedChoices = choices.map(item => (\n <QuestionChoice\n style={styleSheet.choice}\n key={item._id}\n squeezed\n isSelected\n testID={`choice-${item._id}`}\n onPress={onPress(item)}\n questionType=\"qcmDrag\"\n >\n {item.label}\n </QuestionChoice>\n ));\n\n const hasNoSelectedChoices = mappedSortedChoices.length === 0;\n\n return (\n <View style={[styleSheet.dropZone, hasNoSelectedChoices && styleSheet.emptyContent]}>\n {hasNoSelectedChoices ? (\n <Text style={styleSheet.text}>{translations.selectSomethingBelow}</Text>\n ) : null}\n\n {!hasNoSelectedChoices && mappedSortedChoices}\n </View>\n );\n};\n\nexport interface Props {\n choices: Array<Choice>;\n testID?: string;\n onPress: (item: Choice) => () => void;\n}\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n pickableChoices: {\n flexDirection: 'row',\n flexWrap: 'wrap'\n },\n choice: {\n margin: theme.spacing.micro\n }\n });\n\nconst QuestionDraggable = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<any | 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 {choices, onPress, testID} = props;\n const selectedChoices = choices.filter(item => item.selected);\n\n const pickableChoices = choices\n .filter(item => !item.selected)\n .map((item, index) => (\n <QuestionChoice\n style={styleSheet.choice}\n key={item._id}\n squeezed\n testID={`choice-${item._id}-unselected`}\n onPress={onPress(item)}\n questionType=\"qcmDrag\"\n >\n {item.label}\n </QuestionChoice>\n ));\n\n return (\n <View testID={testID}>\n <DropZone choices={selectedChoices} onPress={onPress} />\n <View style={styleSheet.pickableChoices}>{pickableChoices}</View>\n </View>\n );\n};\n\nexport default QuestionDraggable;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../../src/molecule/questions/mobile/draggable/index.native.tsx"],"names":["React","useEffect","useState","View","StyleSheet","Text","QuestionChoice","useTemplateContext","createDropZoneStyle","theme","create","choice","margin","spacing","micro","dropZone","flexWrap","flexDirection","borderStyle","borderWidth","padding","borderColor","colors","gray","light","backgroundColor","extra","borderRadius","radius","common","marginBottom","tiny","emptyContent","justifyContent","alignContent","alignItems","height","text","color","medium","DropZone","props","templateContext","translations","onPress","styleSheet","setStylesheet","_stylesheet","choices","mappedSortedChoices","map","item","_id","label","hasNoSelectedChoices","length","selectSomethingBelow","createStyleSheet","pickableChoices","QuestionDraggable","testID","selectedChoices","filter","selected","index"],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View, StyleSheet, Text, ViewStyle, TextStyle} from 'react-native';\nimport QuestionChoice from '../../../../atom/choice/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {Theme} from '../../../../variables/theme.native';\n\nimport type {SelectableChoice} from '../../types';\n\nexport interface DropZoneProps {\n choices: Array<SelectableChoice>;\n onPress: (item: SelectableChoice) => () => void;\n}\n\ntype DropZoneStyleSheet = {\n choice: ViewStyle;\n dropZone: ViewStyle;\n emptyContent: ViewStyle;\n text: TextStyle;\n};\n\nconst createDropZoneStyle = (theme: Theme): DropZoneStyleSheet =>\n StyleSheet.create({\n choice: {\n margin: theme.spacing.micro\n },\n dropZone: {\n flexWrap: 'wrap',\n flexDirection: 'row',\n borderStyle: 'dashed',\n borderWidth: 2,\n padding: theme.spacing.micro,\n borderColor: theme.colors.gray.light,\n backgroundColor: theme.colors.gray.extra,\n borderRadius: theme.radius.common,\n marginBottom: theme.spacing.tiny\n },\n emptyContent: {\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n height: 60\n },\n text: {\n color: theme.colors.gray.medium\n }\n });\n\nconst DropZone = (props: DropZoneProps) => {\n const templateContext = useTemplateContext();\n const {theme, translations} = templateContext;\n const {onPress} = props;\n\n const [styleSheet, setStylesheet] = useState<DropZoneStyleSheet | null>(null);\n\n useEffect(() => {\n const _stylesheet = createDropZoneStyle(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const {choices} = props;\n const mappedSortedChoices = choices.map(item => (\n <QuestionChoice\n style={styleSheet.choice}\n key={item._id}\n squeezed\n isSelected\n testID={`choice-${item._id}`}\n onPress={onPress(item)}\n questionType=\"qcmDrag\"\n >\n {item.label}\n </QuestionChoice>\n ));\n\n const hasNoSelectedChoices = mappedSortedChoices.length === 0;\n\n return (\n <View style={[styleSheet.dropZone, hasNoSelectedChoices && styleSheet.emptyContent]}>\n {hasNoSelectedChoices ? (\n <Text style={styleSheet.text}>{translations.selectSomethingBelow}</Text>\n ) : null}\n\n {!hasNoSelectedChoices && mappedSortedChoices}\n </View>\n );\n};\n\nexport interface Props {\n choices: Array<SelectableChoice>;\n testID?: string;\n onPress: (item: SelectableChoice) => () => void;\n}\n\ntype QuestionDraggableStyleSheet = {\n pickableChoices: ViewStyle;\n choice: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): QuestionDraggableStyleSheet =>\n StyleSheet.create({\n pickableChoices: {\n flexDirection: 'row',\n flexWrap: 'wrap'\n },\n choice: {\n margin: theme.spacing.micro\n }\n });\n\nconst QuestionDraggable = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<QuestionDraggableStyleSheet | 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 {choices, onPress, testID} = props;\n const selectedChoices = choices.filter(item => item.selected);\n\n const pickableChoices = choices\n .filter(item => !item.selected)\n .map((item: SelectableChoice, index) => (\n <QuestionChoice\n style={styleSheet.choice}\n key={item._id}\n squeezed\n testID={`choice-${item._id}-unselected`}\n onPress={onPress(item)}\n questionType=\"qcmDrag\"\n >\n {item.label}\n </QuestionChoice>\n ));\n\n return (\n <View testID={testID}>\n <DropZone choices={selectedChoices} onPress={onPress} />\n <View style={styleSheet.pickableChoices}>{pickableChoices}</View>\n </View>\n );\n};\n\nexport default QuestionDraggable;\n"],"file":"index.native.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"names":["React","useState","useEffect","useCallback","View","StyleSheet","Slider","Text","useTemplateContext","BOX_STYLE","createStyleSheet","theme","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","track","height","borderRadius","radius","button","thumb","width","backgroundColor","borderWidth","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","templateContext","brandTheme","styleSheet","setStylesheet","setValue","handleSlidingComplete","_stylesheet","primary","borderColor"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, FlexAlignType} from 'react-native';\nimport Slider from '@coorpacademy/react-native-slider';\n\nimport {Theme} from '../../../../variables/theme.native';\nimport Text from '../../../../atom/text/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {BOX_STYLE} from '../../../../variables/shadow';\nimport {FlexDirection, JustifyContent, TextAlign, FontWeight} from '../../../../types/styles';\n\nexport type OnSlidingCompleteFunction = (value: number) => void;\n\nexport type Props = {\n min: number;\n max: number;\n value?: number;\n unit?: string;\n onSlidingComplete: OnSlidingCompleteFunction;\n style?: ViewStyle;\n step?: number;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n flex: number;\n paddingHorizontal: number;\n flexDirection: FlexDirection;\n justifyContent: JustifyContent;\n };\n header: {\n fontSize: number;\n fontWeight: FontWeight;\n textAlign: TextAlign;\n };\n textValue: {\n fontSize: number;\n color: string;\n fontWeight: FontWeight;\n textAlign: TextAlign;\n };\n valuesContainer: {\n flexDirection: FlexDirection;\n justifyContent: JustifyContent;\n };\n leftValue: {\n flex: number;\n alignItems: FlexAlignType | undefined;\n };\n rightValue: {\n flex: number;\n alignItems: FlexAlignType | undefined;\n };\n track: {\n height: number;\n borderRadius: number;\n };\n thumb: {\n width: number;\n height: number;\n borderRadius: number;\n backgroundColor: string;\n borderWidth: number;\n };\n};\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n container: {\n flex: 1,\n paddingHorizontal: 20,\n flexDirection: 'column',\n justifyContent: 'center'\n },\n header: {\n fontSize: 25,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n textValue: {\n fontSize: 15,\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n valuesContainer: {\n flexDirection: 'row',\n justifyContent: 'space-around'\n },\n leftValue: {\n flex: 1,\n alignItems: 'flex-start'\n },\n rightValue: {\n flex: 1,\n alignItems: 'flex-end'\n },\n track: {\n height: 10,\n borderRadius: theme.radius.button\n },\n thumb: {\n ...BOX_STYLE,\n width: 30,\n height: 30,\n borderRadius: 30 / 2,\n backgroundColor: 'white',\n borderWidth: 1\n }\n });\n\nconst QuestionSlider = (props: Props) => {\n const {\n step,\n style,\n min,\n max,\n unit = '',\n value: storeValue = 0,\n onSlidingComplete,\n testID\n } = props;\n const templateContext = useTemplateContext();\n const {brandTheme, theme} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const [value, setValue] = useState<number>(storeValue);\n\n const handleSlidingComplete = useCallback(() => {\n onSlidingComplete(value);\n }, [onSlidingComplete, value]);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={[styleSheet.container, style]} testID={testID}>\n <Text style={[styleSheet.header, {color: brandTheme?.colors.primary}]} testID=\"slider-value\">\n {value}\n </Text>\n <Slider\n step={step || 1}\n value={value}\n onValueChange={setValue}\n maximumValue={max}\n minimumValue={min}\n onSlidingComplete={handleSlidingComplete}\n minimumTrackTintColor={brandTheme?.colors.primary}\n trackStyle={styleSheet.track}\n thumbStyle={[styleSheet.thumb, {borderColor: brandTheme?.colors.primary}]}\n testID=\"slider\"\n />\n <View style={styleSheet.valuesContainer} testID=\"slider-values-container\">\n <View style={styleSheet.leftValue}>\n <Text style={styleSheet.textValue} testID=\"slider-min-value\">\n {`${min} ${unit}`}\n </Text>\n </View>\n <View style={styleSheet.rightValue}>\n <Text style={styleSheet.textValue} testID=\"slider-max-value\">\n {`${max} ${unit}`}\n </Text>\n </View>\n </View>\n </View>\n );\n};\n\nexport default QuestionSlider;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"names":["React","useState","useEffect","useCallback","View","StyleSheet","Slider","Text","useTemplateContext","BOX_STYLE","createStyleSheet","theme","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","track","height","borderRadius","radius","button","thumb","width","backgroundColor","borderWidth","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","templateContext","brandTheme","styleSheet","setStylesheet","setValue","handleSlidingComplete","_stylesheet","primary","borderColor"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle} from 'react-native';\nimport Slider from '@coorpacademy/react-native-slider';\n\nimport {Theme} from '../../../../variables/theme.native';\nimport Text from '../../../../atom/text/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {BOX_STYLE} from '../../../../variables/shadow';\n\nexport type OnSlidingCompleteFunction = (value: number) => void;\n\nexport type Props = {\n min: number;\n max: number;\n value?: number;\n unit?: string;\n onSlidingComplete: OnSlidingCompleteFunction;\n style?: ViewStyle;\n step?: number;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n header: TextStyle;\n textValue: TextStyle;\n valuesContainer: ViewStyle;\n leftValue: ViewStyle;\n rightValue: ViewStyle;\n track: ViewStyle;\n thumb: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n flex: 1,\n paddingHorizontal: 20,\n flexDirection: 'column',\n justifyContent: 'center'\n },\n header: {\n fontSize: 25,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n textValue: {\n fontSize: 15,\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n valuesContainer: {\n flexDirection: 'row',\n justifyContent: 'space-around'\n },\n leftValue: {\n flex: 1,\n alignItems: 'flex-start'\n },\n rightValue: {\n flex: 1,\n alignItems: 'flex-end'\n },\n track: {\n height: 10,\n borderRadius: theme.radius.button\n },\n thumb: {\n ...BOX_STYLE,\n width: 30,\n height: 30,\n borderRadius: 30 / 2,\n backgroundColor: 'white',\n borderWidth: 1\n }\n });\n\nconst QuestionSlider = (props: Props) => {\n const {\n step,\n style,\n min,\n max,\n unit = '',\n value: storeValue = 0,\n onSlidingComplete,\n testID\n } = props;\n const templateContext = useTemplateContext();\n const {brandTheme, theme} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const [value, setValue] = useState<number>(storeValue);\n\n const handleSlidingComplete = useCallback(() => {\n onSlidingComplete(value);\n }, [onSlidingComplete, value]);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={[styleSheet.container, style]} testID={testID}>\n <Text style={[styleSheet.header, {color: brandTheme?.colors.primary}]} testID=\"slider-value\">\n {value}\n </Text>\n <Slider\n step={step || 1}\n value={value}\n onValueChange={setValue}\n maximumValue={max}\n minimumValue={min}\n onSlidingComplete={handleSlidingComplete}\n minimumTrackTintColor={brandTheme?.colors.primary}\n trackStyle={styleSheet.track}\n thumbStyle={[styleSheet.thumb, {borderColor: brandTheme?.colors.primary}]}\n testID=\"slider\"\n />\n <View style={styleSheet.valuesContainer} testID=\"slider-values-container\">\n <View style={styleSheet.leftValue}>\n <Text style={styleSheet.textValue} testID=\"slider-min-value\">\n {`${min} ${unit}`}\n </Text>\n </View>\n <View style={styleSheet.rightValue}>\n <Text style={styleSheet.textValue} testID=\"slider-max-value\">\n {`${max} ${unit}`}\n </Text>\n </View>\n </View>\n </View>\n );\n};\n\nexport default QuestionSlider;\n"],"file":"index.native.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"names":["React","useCallback","View","StyleSheet","Text","QuestionChoice","QuestionDraggable","QuestionTemplate","QuestionSlider","FreeText","useTemplateContext","ANALYTICS_EVENT_TYPE","styleSheet","create","cards","flexDirection","alignItems","card","flex","choices","choice","paddingVertical","Switch","props","templateContext","analytics","store","focusedSelectId","handleBlur","handleFocus","type","template","isDisabled","min","max","unit","value","step","onSliderChange","onItemPress","onItemInputChange","onInputValueChange","handleChoicePress","onPress","handleItemInputChange","_value","handleSlidingComplete","logEvent","SLIDE","id","questionType","map","index","_id","selected","label","media","undefined","console","warn"],"mappings":"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","sourcesContent":["import React, {useCallback} from 'react';\nimport {View, StyleSheet, Text} from 'react-native';\n\nimport QuestionChoice from '../../../../atom/choice/index.native';\nimport QuestionDraggable from '../draggable/index.native';\nimport QuestionTemplate from '../template/index.native';\nimport QuestionSlider from '../slider/index.native';\nimport FreeText from '../../free-text/index.native';\n\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE} from '../../../../variables/analytics';\n\nimport type {QuestionType, Choice} from '../../types';\n\nexport type Props = {\n type: QuestionType;\n isDisabled?: boolean;\n template?: string;\n choices?: Array<Choice>;\n min?: number;\n max?: number;\n unit?: string;\n step?: number;\n value?: number;\n onInputValueChange?: (value: string) => void;\n onSliderChange?: (value: number) => void;\n // --- mobile learner only\n onItemInputChange?: (item: Choice, value: string) => void;\n onItemPress?: (item: Choice) => void;\n};\n\nconst styleSheet = StyleSheet.create({\n cards: {\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n card: {\n flex: 1\n },\n choices: {\n // backgroundColor: '#967' // flex-debug\n },\n choice: {\n paddingVertical: 5\n }\n});\n\nconst Switch = (props: Props) => {\n const templateContext = useTemplateContext();\n const {analytics, store} = templateContext;\n const {focusedSelectId, handleBlur, handleFocus} = store;\n\n const {\n type,\n template,\n isDisabled,\n choices = [],\n min,\n max,\n unit,\n value,\n step,\n onSliderChange,\n onItemPress,\n onItemInputChange,\n onInputValueChange\n } = props;\n\n const handleChoicePress = useCallback(\n (choice: Choice) => () => {\n if (choice.onPress) {\n // e.g. app-review\n choice.onPress();\n } else if (onItemPress) {\n // e.g. learner\n onItemPress(choice);\n }\n },\n [onItemPress]\n );\n\n const handleItemInputChange = useCallback(\n (choice: Choice, _value: string) => {\n if (choice.onPress) {\n // e.g. app-review\n choice.onPress(_value);\n } else if (onItemInputChange) {\n // e.g. learner\n onItemInputChange(choice, _value);\n }\n },\n [onItemInputChange]\n );\n\n const handleSlidingComplete = useCallback(\n _value => {\n analytics &&\n analytics.logEvent(ANALYTICS_EVENT_TYPE.SLIDE, {\n id: 'slider',\n questionType: 'slider'\n });\n\n if (onSliderChange) {\n onSliderChange(_value);\n }\n },\n [analytics, onSliderChange]\n );\n\n switch (type) {\n case 'qcm':\n return (\n <View testID=\"question-choices\" style={styleSheet.choices}>\n {choices.map((choice, index) => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\n ))}\n </View>\n );\n case 'qcmGraphic':\n return (\n <View testID=\"question-choices\" style={styleSheet.choices}>\n {choices.map((choice, index) => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n media={choice.media}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\n ))}\n </View>\n );\n case 'slider': {\n if (min === undefined || max === undefined) {\n return <View />;\n }\n\n return (\n <QuestionSlider\n min={min}\n max={max}\n unit={unit}\n value={value}\n step={step}\n onSlidingComplete={handleSlidingComplete}\n testID=\"question-slider\"\n />\n );\n }\n case 'template':\n if (handleBlur === undefined || handleFocus === undefined || focusedSelectId === undefined) {\n // eslint-disable-next-line no-console\n console.warn('type template must implement handleFocus etc within Context.store');\n return <View />;\n }\n\n return (\n <View testID=\"question-choices\">\n <QuestionTemplate\n isDisabled={isDisabled}\n template={template || ''}\n choices={choices}\n onInputChange={handleItemInputChange}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n focusedSelectId={focusedSelectId}\n />\n </View>\n );\n case 'qcmDrag':\n return (\n <View testID=\"question-draggable\">\n <QuestionDraggable choices={choices} onPress={handleChoicePress} />\n </View>\n );\n case 'basic':\n if (!onInputValueChange) {\n return <View />;\n }\n\n return (\n <FreeText\n fullWidth\n onChange={onInputValueChange}\n testID=\"question-input-text\"\n questionType=\"basic\"\n isDisabled={isDisabled}\n />\n );\n default:\n return (\n <View>\n <Text>Unhandled type: {type}</Text>\n </View>\n );\n }\n};\n\nexport default Switch;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"names":["React","useCallback","View","StyleSheet","Text","QuestionChoice","QuestionDraggable","QuestionTemplate","QuestionSlider","FreeText","useTemplateContext","ANALYTICS_EVENT_TYPE","styleSheet","create","cards","flexDirection","alignItems","card","flex","choices","choice","paddingVertical","Switch","props","templateContext","analytics","store","focusedSelectId","handleBlur","handleFocus","type","template","isDisabled","min","max","unit","value","step","onSliderChange","onItemPress","onItemInputChange","onInputValueChange","handleChoicePress","onPress","handleItemInputChange","_value","handleSlidingComplete","logEvent","SLIDE","id","questionType","map","index","_id","selected","label","media","undefined","console","warn"],"mappings":"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","sourcesContent":["import React, {useCallback} from 'react';\nimport {View, StyleSheet, Text} from 'react-native';\n\nimport QuestionChoice from '../../../../atom/choice/index.native';\nimport QuestionDraggable from '../draggable/index.native';\nimport QuestionTemplate from '../template/index.native';\nimport QuestionSlider from '../slider/index.native';\nimport FreeText from '../../free-text/index.native';\n\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE} from '../../../../variables/analytics';\n\nimport type {\n QuestionType,\n Choice,\n TemplateListOfChoices,\n TemplateTextChoice,\n SelectableChoice\n} from '../../types';\n\nexport type Props = {\n type: QuestionType;\n isDisabled?: boolean;\n template?: string;\n choices?: Array<Choice>;\n min?: number;\n max?: number;\n unit?: string;\n step?: number;\n value?: number;\n onInputValueChange?: (value: string) => void;\n onSliderChange?: (value: number) => void;\n // --- mobile learner only\n onItemInputChange?: (item: Choice, value: string) => void;\n onItemPress?: (item: Choice) => void;\n};\n\nconst styleSheet = StyleSheet.create({\n cards: {\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n card: {\n flex: 1\n },\n choices: {\n // backgroundColor: '#967' // flex-debug\n },\n choice: {\n paddingVertical: 5\n }\n});\n\nconst Switch = (props: Props) => {\n const templateContext = useTemplateContext();\n const {analytics, store} = templateContext;\n const {focusedSelectId, handleBlur, handleFocus} = store;\n\n const {\n type,\n template,\n isDisabled,\n choices = [],\n min,\n max,\n unit,\n value,\n step,\n onSliderChange,\n onItemPress,\n onItemInputChange,\n onInputValueChange\n } = props;\n\n const handleChoicePress = useCallback(\n (choice: Choice) => () => {\n if ((choice as SelectableChoice).onPress) {\n // e.g. app-review\n (choice as SelectableChoice).onPress();\n } else if (onItemPress) {\n // e.g. learner\n onItemPress(choice);\n }\n },\n [onItemPress]\n );\n\n const handleItemInputChange = useCallback(\n (choice: Choice, _value: string) => {\n if ((choice as SelectableChoice).onPress) {\n // e.g. app-review\n (choice as SelectableChoice).onPress(_value);\n } else if (onItemInputChange) {\n // e.g. learner\n onItemInputChange(choice, _value);\n }\n },\n [onItemInputChange]\n );\n\n const handleSlidingComplete = useCallback(\n _value => {\n analytics &&\n analytics.logEvent(ANALYTICS_EVENT_TYPE.SLIDE, {\n id: 'slider',\n questionType: 'slider'\n });\n\n if (onSliderChange) {\n onSliderChange(_value);\n }\n },\n [analytics, onSliderChange]\n );\n\n switch (type) {\n case 'qcm':\n return (\n <View testID=\"question-choices\" style={styleSheet.choices}>\n {(choices as SelectableChoice[]).map((choice, index) => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\n ))}\n </View>\n );\n case 'qcmGraphic':\n return (\n <View testID=\"question-choices\" style={styleSheet.choices}>\n {(choices as SelectableChoice[]).map((choice, index) => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n media={choice.media}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\n ))}\n </View>\n );\n case 'slider': {\n if (min === undefined || max === undefined) {\n return <View />;\n }\n\n return (\n <QuestionSlider\n min={min}\n max={max}\n unit={unit}\n value={value}\n step={step}\n onSlidingComplete={handleSlidingComplete}\n testID=\"question-slider\"\n />\n );\n }\n case 'template':\n if (handleBlur === undefined || handleFocus === undefined || focusedSelectId === undefined) {\n // eslint-disable-next-line no-console\n console.warn('type template must implement handleFocus etc within Context.store');\n return <View />;\n }\n\n return (\n <View testID=\"question-choices\">\n <QuestionTemplate\n isDisabled={isDisabled}\n template={template || ''}\n choices={choices as (TemplateListOfChoices | TemplateTextChoice)[]}\n onInputChange={handleItemInputChange}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n focusedSelectId={focusedSelectId}\n />\n </View>\n );\n case 'qcmDrag':\n return (\n <View testID=\"question-draggable\">\n <QuestionDraggable choices={choices as SelectableChoice[]} onPress={handleChoicePress} />\n </View>\n );\n case 'basic':\n if (!onInputValueChange) {\n return <View />;\n }\n\n return (\n <FreeText\n fullWidth\n onChange={onInputValueChange}\n testID=\"question-input-text\"\n questionType=\"basic\"\n isDisabled={isDisabled}\n />\n );\n default:\n return (\n <View>\n <Text>Unhandled type: {type}</Text>\n </View>\n );\n }\n};\n\nexport default Switch;\n"],"file":"index.native.js"}
@@ -1,7 +1,6 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
  import { View } from 'react-native';
3
3
  import trim from 'lodash/fp/trim';
4
- import last from 'lodash/fp/last';
5
4
  import Html from '../../../../atom/html/index.native';
6
5
  import Select from '../../../../atom/select-modal/index.native';
7
6
  import Space from '../../../../atom/space/index.native';
@@ -138,6 +137,12 @@ const Item = props => {
138
137
  }));
139
138
  }
140
139
 
140
+ const selectStyle = [styles.input];
141
+
142
+ if (value) {
143
+ selectStyle.push(selectedStyle);
144
+ }
145
+
141
146
  if (choice.type === 'select') {
142
147
  return /*#__PURE__*/React.createElement(View, {
143
148
  style: styles.spaced,
@@ -153,7 +158,8 @@ const Item = props => {
153
158
  onFocus: handleFocus(id),
154
159
  onChange: handleInputChange(choice),
155
160
  textStyle: styles.text,
156
- style: [styles.input, value && selectedStyle],
161
+ style: selectStyle,
162
+ analyticsID: `${id}-select${selectedSuffix}${disabledSuffix}`,
157
163
  testID: `${id}-select${selectedSuffix}${disabledSuffix}`
158
164
  }));
159
165
  }
@@ -193,10 +199,8 @@ const QuestionTemplate = props => {
193
199
  }
194
200
 
195
201
  const parts = parseTemplateString(template);
196
- const sections = parts.reduce((result, item) => {
197
- const section = last(result) || [];
198
- return result.slice(0, -1).concat([section.concat([item])]);
199
- }, []);
202
+ const sections = [parts]; // @todo remove useless sections
203
+
200
204
  return /*#__PURE__*/React.createElement(View, {
201
205
  testID: "question-template"
202
206
  }, sections.map((section, index) => /*#__PURE__*/React.createElement(Section, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"names":["React","useEffect","useState","View","trim","last","Html","Select","Space","FreeText","useTemplateContext","parseTemplateString","createStyleSheet","theme","section","width","flexDirection","flexWrap","justifyContent","alignItems","spaced","paddingVertical","spacing","tiny","input","padding","borderWidth","borderColor","colors","gray","lightMedium","borderRadius","radius","common","backgroundColor","white","minWidth","htmlText","color","black","fontWeight","bold","lineHeight","text","medium","fontSize","regular","textAlign","Section","choices","index","focusedSelectId","onInputChange","handleBlur","handleFocus","isDisabled","styles","prefix","map","part","id","Item","props","templateContext","brandTheme","translations","inputNames","choice","name","isFocused","selectedStyle","primary","type","includes","value","choiceIndex","findIndex","disabledSuffix","selectedSuffix","handleInputChange","_item","_value","items","selectAnAnswer","QuestionTemplate","template","styleSheet","setStylesheet","_stylesheet","parts","sections","reduce","result","item","slice","concat"],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View} from 'react-native';\n\nimport trim from 'lodash/fp/trim';\nimport last from 'lodash/fp/last';\n\nimport Html from '../../../../atom/html/index.native';\nimport Select from '../../../../atom/select-modal/index.native';\nimport Space from '../../../../atom/space/index.native';\nimport type {Choice} from '../../types';\nimport FreeText from '../../free-text/index.native';\nimport {\n FocusedSelectId,\n HandleBlur,\n HandleFocus,\n useTemplateContext\n} from '../../../../template/app-review/template-context';\nimport {Theme} from '../../../../variables/theme.native';\nimport parseTemplateString from '../../../../util/parse-template-string';\n\nconst createStyleSheet = (theme: Theme) => ({\n section: {\n // backgroundColor: '#188', // flex-debug\n width: '100%',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignItems: 'center'\n },\n spaced: {\n paddingVertical: theme.spacing.tiny\n },\n input: {\n padding: theme.spacing.tiny,\n borderWidth: 1,\n borderColor: theme.colors.gray.lightMedium,\n borderRadius: theme.radius.common,\n backgroundColor: theme.colors.white,\n minWidth: 175\n },\n htmlText: {\n padding: theme.spacing.tiny,\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 30\n },\n text: {\n color: theme.colors.gray.medium,\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.regular,\n textAlign: 'center'\n }\n});\n\ntype TemplatePart = {\n type: 'string' | 'answerField';\n value: string;\n};\n\ntype SectionProps = {\n isDisabled: boolean;\n section: Array<TemplatePart>;\n choices: Array<Choice>;\n index: number;\n onInputChange: (item: Choice, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: any;\n};\n\nconst Section = ({\n section,\n choices,\n index,\n focusedSelectId,\n onInputChange,\n handleBlur,\n handleFocus,\n isDisabled,\n styles\n}: SectionProps) => {\n const prefix = `question-section-${index + 1}`;\n\n return (\n <View style={styles.section} key={`container-${prefix}`}>\n {section.map((part, id) => {\n return (\n <View key={`${prefix}-${id}`} style={{flexDirection: 'row'}}>\n <Item\n prefix={prefix}\n part={part}\n choices={choices}\n index={id}\n focusedSelectId={focusedSelectId}\n isDisabled={isDisabled}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n onInputChange={onInputChange}\n styles={styles}\n />\n <Space type=\"micro\" />\n </View>\n );\n })}\n </View>\n );\n};\n\ntype ItemProps = {\n part: TemplatePart;\n choices: Array<Choice>;\n index: number;\n prefix: string;\n isDisabled?: boolean;\n onInputChange: (item: Choice, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: any;\n};\n\nconst Item = (props: ItemProps) => {\n const {\n part,\n index,\n prefix,\n isDisabled = false,\n focusedSelectId,\n choices,\n onInputChange,\n handleBlur,\n handleFocus,\n styles\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme, brandTheme, translations} = templateContext;\n\n const inputNames = choices.map(choice => choice.name);\n const id = `${prefix}-part-${index + 1}`;\n const isFocused = focusedSelectId === id;\n\n const selectedStyle = brandTheme && {\n borderColor: brandTheme.colors.primary,\n color: brandTheme.colors.primary\n };\n\n if (part.type === 'answerField' && inputNames.includes(part.value)) {\n const choiceIndex = choices.findIndex(choice => choice.name === part.value);\n const choice = choices[choiceIndex];\n const {value} = choice;\n\n if (!choice || !choice.type || !choice.name) {\n return null;\n }\n\n const disabledSuffix = isDisabled ? '-disabled' : '';\n const selectedSuffix = value ? '-selected' : '';\n\n const handleInputChange = (_item: Choice) => (_value: string) => onInputChange(_item, _value);\n\n if (choice.type === 'text') {\n return (\n <View style={styles.spaced} testID={id}>\n <FreeText\n key={id}\n isDisabled={isDisabled}\n onChange={handleInputChange(choice)}\n value={value}\n testID={`${id}-text${selectedSuffix}${disabledSuffix}`}\n questionType=\"template\"\n />\n </View>\n );\n }\n\n if (choice.type === 'select') {\n return (\n <View style={styles.spaced} testID={id}>\n <Select\n isDisabled={isDisabled}\n questionType=\"template\"\n values={choice.items}\n value={value}\n placeholder={translations.selectAnAnswer}\n isFocused={isFocused}\n onBlur={handleBlur}\n onFocus={handleFocus(id)}\n onChange={handleInputChange(choice)}\n textStyle={styles.text}\n style={[styles.input, value && selectedStyle]}\n testID={`${id}-select${selectedSuffix}${disabledSuffix}`}\n />\n </View>\n );\n }\n }\n\n return (\n <Html key={id} fontSize={theme.fontSize.regular} testID={id} style={styles.htmlText}>\n {trim(part.value || '')}\n </Html>\n );\n};\n\nexport type Props = {\n isDisabled?: boolean;\n template: string;\n choices: Array<Choice>;\n onInputChange: (item: Choice, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n};\n\nconst QuestionTemplate = (props: Props) => {\n const {\n template,\n onInputChange,\n choices,\n handleBlur,\n handleFocus,\n focusedSelectId,\n isDisabled = false\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<any | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!template || !styleSheet) {\n return null;\n }\n\n const parts = parseTemplateString(template);\n\n const sections: Array<Array<TemplatePart>> = parts.reduce((result, item) => {\n const section = last(result) || [];\n return result.slice(0, -1).concat([section.concat([item])]);\n }, []);\n\n return (\n <View testID=\"question-template\">\n {sections.map((section, index) => (\n <Section\n key={index}\n section={section}\n choices={choices}\n index={index}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n focusedSelectId={focusedSelectId}\n onInputChange={onInputChange}\n isDisabled={isDisabled}\n styles={styleSheet}\n />\n ))}\n </View>\n );\n};\n\nexport default QuestionTemplate;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"names":["React","useEffect","useState","View","trim","Html","Select","Space","FreeText","useTemplateContext","parseTemplateString","createStyleSheet","theme","section","width","flexDirection","flexWrap","justifyContent","alignItems","spaced","paddingVertical","spacing","tiny","input","padding","borderWidth","borderColor","colors","gray","lightMedium","borderRadius","radius","common","backgroundColor","white","minWidth","htmlText","color","black","fontWeight","bold","lineHeight","text","medium","fontSize","regular","textAlign","Section","choices","index","focusedSelectId","onInputChange","handleBlur","handleFocus","isDisabled","styles","prefix","map","part","id","Item","props","templateContext","brandTheme","translations","inputNames","choice","name","isFocused","selectedStyle","primary","type","includes","value","choiceIndex","findIndex","disabledSuffix","selectedSuffix","handleInputChange","_item","_value","selectStyle","push","items","selectAnAnswer","QuestionTemplate","template","styleSheet","setStylesheet","_stylesheet","parts","sections"],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {TextStyle, View, ViewStyle} from 'react-native';\n\nimport trim from 'lodash/fp/trim';\n\nimport Html from '../../../../atom/html/index.native';\nimport Select from '../../../../atom/select-modal/index.native';\nimport Space from '../../../../atom/space/index.native';\nimport type {TemplateListOfChoices, TemplateTextChoice} from '../../types';\nimport FreeText from '../../free-text/index.native';\nimport {\n FocusedSelectId,\n HandleBlur,\n HandleFocus,\n useTemplateContext\n} from '../../../../template/app-review/template-context';\nimport {Theme} from '../../../../variables/theme.native';\nimport parseTemplateString from '../../../../util/parse-template-string';\n\ntype StyleSheetType = {\n section: ViewStyle;\n spaced: ViewStyle;\n input: ViewStyle;\n htmlText: TextStyle;\n text: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType => ({\n section: {\n // backgroundColor: '#188', // flex-debug\n width: '100%',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignItems: 'center'\n },\n spaced: {\n paddingVertical: theme.spacing.tiny\n },\n input: {\n padding: theme.spacing.tiny,\n borderWidth: 1,\n borderColor: theme.colors.gray.lightMedium,\n borderRadius: theme.radius.common,\n backgroundColor: theme.colors.white,\n minWidth: 175\n },\n htmlText: {\n padding: theme.spacing.tiny,\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 30\n },\n text: {\n color: theme.colors.gray.medium,\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.regular,\n textAlign: 'center'\n }\n});\n\ntype TemplatePart = {\n type: 'string' | 'answerField';\n value: string;\n};\n\ntype SectionProps = {\n isDisabled: boolean;\n section: Array<TemplatePart>;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n index: number;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: any;\n};\n\nconst Section = ({\n section,\n choices,\n index,\n focusedSelectId,\n onInputChange,\n handleBlur,\n handleFocus,\n isDisabled,\n styles\n}: SectionProps) => {\n const prefix = `question-section-${index + 1}`;\n\n return (\n <View style={styles.section} key={`container-${prefix}`}>\n {section.map((part, id) => {\n return (\n <View key={`${prefix}-${id}`} style={{flexDirection: 'row'}}>\n <Item\n prefix={prefix}\n part={part}\n choices={choices}\n index={id}\n focusedSelectId={focusedSelectId}\n isDisabled={isDisabled}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n onInputChange={onInputChange}\n styles={styles}\n />\n <Space type=\"micro\" />\n </View>\n );\n })}\n </View>\n );\n};\n\ntype ItemProps = {\n part: TemplatePart;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n index: number;\n prefix: string;\n isDisabled?: boolean;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: any;\n};\n\nconst Item = (props: ItemProps) => {\n const {\n part,\n index,\n prefix,\n isDisabled = false,\n focusedSelectId,\n choices,\n onInputChange,\n handleBlur,\n handleFocus,\n styles\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme, brandTheme, translations} = templateContext;\n\n const inputNames = choices.map(choice => choice.name);\n const id = `${prefix}-part-${index + 1}`;\n const isFocused = focusedSelectId === id;\n\n const selectedStyle = brandTheme && {\n borderColor: brandTheme.colors.primary,\n color: brandTheme.colors.primary\n };\n\n if (part.type === 'answerField' && inputNames.includes(part.value)) {\n const choiceIndex = choices.findIndex(choice => choice.name === part.value);\n const choice = choices[choiceIndex];\n const {value} = choice;\n\n if (!choice || !choice.type || !choice.name) {\n return null;\n }\n\n const disabledSuffix = isDisabled ? '-disabled' : '';\n const selectedSuffix = value ? '-selected' : '';\n\n const handleInputChange = (_item: TemplateTextChoice | TemplateListOfChoices) => (\n _value: string\n ) => onInputChange(_item, _value);\n\n if (choice.type === 'text') {\n return (\n <View style={styles.spaced} testID={id}>\n <FreeText\n key={id}\n isDisabled={isDisabled}\n onChange={handleInputChange(choice)}\n value={value}\n testID={`${id}-text${selectedSuffix}${disabledSuffix}`}\n questionType=\"template\"\n />\n </View>\n );\n }\n\n const selectStyle: ViewStyle[] = [styles.input];\n if (value) {\n selectStyle.push(selectedStyle);\n }\n\n if (choice.type === 'select') {\n return (\n <View style={styles.spaced} testID={id}>\n <Select\n isDisabled={isDisabled}\n questionType=\"template\"\n values={choice.items}\n value={value}\n placeholder={translations.selectAnAnswer}\n isFocused={isFocused}\n onBlur={handleBlur}\n onFocus={handleFocus(id)}\n onChange={handleInputChange(choice)}\n textStyle={styles.text}\n style={selectStyle}\n analyticsID={`${id}-select${selectedSuffix}${disabledSuffix}`}\n testID={`${id}-select${selectedSuffix}${disabledSuffix}`}\n />\n </View>\n );\n }\n }\n\n return (\n <Html key={id} fontSize={theme.fontSize.regular} testID={id} style={styles.htmlText}>\n {trim(part.value || '')}\n </Html>\n );\n};\n\nexport type Props = {\n isDisabled?: boolean;\n template: string;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n};\n\nconst QuestionTemplate = (props: Props) => {\n const {\n template,\n onInputChange,\n choices,\n handleBlur,\n handleFocus,\n focusedSelectId,\n isDisabled = false\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme} = 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 (!template || !styleSheet) {\n return null;\n }\n\n const parts: TemplatePart[] = parseTemplateString(template);\n const sections = [parts]; // @todo remove useless sections\n\n return (\n <View testID=\"question-template\">\n {sections.map((section, index) => (\n <Section\n key={index}\n section={section}\n choices={choices}\n index={index}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n focusedSelectId={focusedSelectId}\n onInputChange={onInputChange}\n isDisabled={isDisabled}\n styles={styleSheet}\n />\n ))}\n </View>\n );\n};\n\nexport default QuestionTemplate;\n"],"file":"index.native.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/header-v2/index.native.tsx"],"names":["React","useState","useEffect","View","StyleSheet","NovaCompositionCoorpacademySearch","SearchIcon","NovaCompositionCoorpacademyCog","SettingsIcon","useTemplateContext","BrandLogo","Gradient","Touchable","HEADER_HEIGHT","ICON_WIDTH","createStyleSheet","theme","create","container","position","backgroundColor","colors","white","flexDirection","alignItems","justifyContent","height","top","width","icons","icon","marginRight","logo","marginLeft","gradient","left","right","opacity","Header","props","templateContext","styleSheet","setStylesheet","onSearchPress","onSettingsPress","onLogoLongPress","logoHeight","spacing","small","_stylesheet","tiny","gray","medium","light","dark"],"mappings":"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","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport {View, StyleSheet} from 'react-native';\nimport {\n NovaCompositionCoorpacademySearch as SearchIcon,\n NovaCompositionCoorpacademyCog as SettingsIcon\n} from '@coorpacademy/nova-icons';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport BrandLogo from '../../molecule/brand-logo/index.native';\nimport Gradient from '../../atom/gradient/index.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {FlexAlignType, FlexDirection, JustifyContent, Position} from '../../types/styles';\nimport {Theme} from '../../variables/theme.native';\n\nexport interface Props {\n onSearchPress: (event: PressEvent) => any;\n onSettingsPress: (event: PressEvent) => any;\n onLogoLongPress: (event: PressEvent) => any;\n}\n\nexport const HEADER_HEIGHT = 67;\nconst ICON_WIDTH = 20;\n\ntype StyleSheetType = {\n container: {\n position: Position;\n backgroundColor: string;\n flexDirection: FlexDirection;\n alignItems: FlexAlignType;\n justifyContent: JustifyContent;\n height: string | number;\n top: number;\n width: string | number;\n };\n icons: {\n flexDirection: FlexDirection;\n };\n icon: {\n marginRight: number;\n };\n logo: {\n width: number;\n marginLeft: number;\n };\n gradient: {\n position: Position;\n left: number;\n top: number;\n right: number;\n opacity: number;\n };\n};\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n container: {\n position: 'absolute',\n backgroundColor: theme.colors.white,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n height: HEADER_HEIGHT,\n top: 0,\n width: '100%'\n },\n icons: {\n flexDirection: 'row'\n },\n icon: {\n marginRight: 16\n },\n logo: {\n width: 80,\n marginLeft: 16\n },\n gradient: {\n position: 'absolute',\n left: 0,\n top: HEADER_HEIGHT,\n right: 0,\n opacity: 0.3\n }\n });\n\nconst Header = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n\n const {onSearchPress, onSettingsPress, onLogoLongPress} = props;\n const logoHeight = HEADER_HEIGHT - theme.spacing.small * 2;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n // ------------------------------------\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={[styleSheet.container]} testID=\"header\">\n <Gradient\n height={theme.spacing.tiny}\n colors={[theme.colors.gray.medium, theme.colors.gray.light]}\n transparencyPosition=\"bottom\"\n style={styleSheet.gradient}\n />\n <View style={styleSheet.logo}>\n <Touchable\n testID=\"header-logo\"\n onLongPress={onLogoLongPress}\n analyticsID=\"sign-out\"\n isWithoutFeedback\n >\n <BrandLogo height={logoHeight} />\n </Touchable>\n </View>\n <View style={[styleSheet.icons]}>\n <Touchable testID=\"search-icon\" onPress={onSearchPress} analyticsID=\"search-icon\">\n <SearchIcon\n height={ICON_WIDTH}\n width={ICON_WIDTH}\n color={theme.colors.gray.dark}\n style={styleSheet.icon}\n />\n </Touchable>\n <Touchable testID=\"settings-icon\" onPress={onSettingsPress} analyticsID=\"settings-icon\">\n <SettingsIcon\n height={ICON_WIDTH}\n width={ICON_WIDTH}\n color={theme.colors.gray.dark}\n style={styleSheet.icon}\n />\n </Touchable>\n </View>\n </View>\n );\n};\n\nexport default Header;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/organism/header-v2/index.native.tsx"],"names":["React","useState","useEffect","View","StyleSheet","NovaCompositionCoorpacademySearch","SearchIcon","NovaCompositionCoorpacademyCog","SettingsIcon","useTemplateContext","BrandLogo","Gradient","Touchable","HEADER_HEIGHT","ICON_WIDTH","createStyleSheet","theme","create","container","position","backgroundColor","colors","white","flexDirection","alignItems","justifyContent","height","top","width","icons","icon","marginRight","logo","marginLeft","gradient","left","right","opacity","Header","props","templateContext","styleSheet","setStylesheet","onSearchPress","onSettingsPress","onLogoLongPress","logoHeight","spacing","small","_stylesheet","tiny","gray","medium","light","dark"],"mappings":"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","sourcesContent":["import React, {useState, useEffect} from 'react';\n\nimport {View, StyleSheet, GestureResponderEvent, ViewStyle} from 'react-native';\nimport {\n NovaCompositionCoorpacademySearch as SearchIcon,\n NovaCompositionCoorpacademyCog as SettingsIcon\n} from '@coorpacademy/nova-icons';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport BrandLogo from '../../molecule/brand-logo/index.native';\nimport Gradient from '../../atom/gradient/index.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Theme} from '../../variables/theme.native';\n\nexport interface Props {\n onSearchPress: (event: GestureResponderEvent) => any;\n onSettingsPress: (event: GestureResponderEvent) => any;\n onLogoLongPress: (event: GestureResponderEvent) => any;\n}\n\nexport const HEADER_HEIGHT = 67;\nconst ICON_WIDTH = 20;\n\ntype StyleSheetType = {\n container: ViewStyle;\n icons: ViewStyle;\n icon: ViewStyle;\n logo: ViewStyle;\n gradient: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n container: {\n position: 'absolute',\n backgroundColor: theme.colors.white,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n height: HEADER_HEIGHT,\n top: 0,\n width: '100%'\n },\n icons: {\n flexDirection: 'row'\n },\n icon: {\n marginRight: 16\n },\n logo: {\n width: 80,\n marginLeft: 16\n },\n gradient: {\n position: 'absolute',\n left: 0,\n top: HEADER_HEIGHT,\n right: 0,\n opacity: 0.3\n }\n });\n\nconst Header = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n\n const {onSearchPress, onSettingsPress, onLogoLongPress} = props;\n const logoHeight = HEADER_HEIGHT - theme.spacing.small * 2;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n // ------------------------------------\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={[styleSheet.container]} testID=\"header\">\n <Gradient\n height={theme.spacing.tiny}\n colors={[theme.colors.gray.medium, theme.colors.gray.light]}\n transparencyPosition=\"bottom\"\n style={styleSheet.gradient}\n />\n <View style={styleSheet.logo}>\n <Touchable\n testID=\"header-logo\"\n onLongPress={onLogoLongPress}\n analyticsID=\"sign-out\"\n isWithoutFeedback\n >\n <BrandLogo height={logoHeight} />\n </Touchable>\n </View>\n <View style={[styleSheet.icons]}>\n <Touchable testID=\"search-icon\" onPress={onSearchPress} analyticsID=\"search-icon\">\n <SearchIcon\n height={ICON_WIDTH}\n width={ICON_WIDTH}\n color={theme.colors.gray.dark}\n style={styleSheet.icon}\n />\n </Touchable>\n <Touchable testID=\"settings-icon\" onPress={onSettingsPress} analyticsID=\"settings-icon\">\n <SettingsIcon\n height={ICON_WIDTH}\n width={ICON_WIDTH}\n color={theme.colors.gray.dark}\n style={styleSheet.icon}\n />\n </Touchable>\n </View>\n </View>\n );\n};\n\nexport default Header;\n"],"file":"index.native.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/mobile-navigation/index.native.tsx"],"names":["React","useState","useEffect","View","StyleSheet","Text","BlurView","NovaCompositionNavigationNavBar","BlurredShadow","useTemplateContext","createStyleSheet","theme","create","main","marginHorizontal","container","position","bottom","width","flexDirection","justifyContent","alignSelf","overflow","height","borderRadius","backgroundColor","colors","gray","light","button","alignItems","flex","marginTop","spacing","small","buttonText","fontSize","lineHeight","color","text","primary","dot","cta","blur","transform","rotateX","scaleX","Button","testID","title","selected","Icon","styles","NavigationBar","items","selectedItemIndex","templateContext","styleSheet","setStylesheet","_stylesheet","map","prop","index","label","icon"],"mappings":"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","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {View, StyleSheet, Text} from 'react-native';\nimport {BlurView} from '@react-native-community/blur';\n\nimport {NovaCompositionNavigationNavBar as BlurredShadow} from '@coorpacademy/nova-icons';\n\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {\n Position,\n FlexDirection,\n JustifyContent,\n AlignSelf,\n Overflow,\n FlexAlignType,\n FontSize\n} from '../../types/styles';\nimport {Theme} from '../../variables/theme.native';\n\nexport type NavItemType = {\n label: string;\n icon: any;\n onPress: () => void;\n};\n\nexport interface Props {\n testID?: string;\n items: Array<NavItemType>;\n selectedItemIndex: number;\n}\n\ntype StyleSheetType = {\n main: {\n marginHorizontal: number;\n };\n container: {\n position: Position;\n bottom: number;\n width: string;\n flexDirection: FlexDirection;\n justifyContent: JustifyContent;\n alignSelf: AlignSelf;\n overflow: Overflow;\n height: number;\n borderRadius: number;\n backgroundColor: string;\n };\n button: {\n alignItems: FlexAlignType;\n flex: number;\n height: string;\n marginTop: number;\n };\n buttonText: {\n fontSize: FontSize;\n lineHeight: number;\n color: string;\n };\n\n dot: {\n width: number;\n height: number;\n borderRadius: number;\n backgroundColor: string;\n marginTop: number;\n };\n blur: {\n marginTop: number;\n width: number;\n height: number;\n };\n};\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n main: {\n marginHorizontal: 20\n },\n container: {\n position: 'absolute',\n bottom: 34,\n width: '100%',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignSelf: 'center',\n overflow: 'hidden',\n height: 66,\n borderRadius: 12,\n backgroundColor: theme.colors.gray.light\n },\n button: {\n alignItems: 'center',\n flex: 1,\n height: '100%',\n marginTop: theme.spacing.small\n },\n buttonText: {\n fontSize: theme.fontSize.small,\n lineHeight: 26,\n // height: 11,\n color: theme.colors.text.primary\n },\n\n dot: {\n width: 8,\n height: 8,\n borderRadius: 8,\n backgroundColor: theme.colors.cta,\n marginTop: 3,\n position: 'absolute',\n alignSelf: 'center'\n },\n blur: {\n marginTop: -87,\n width: 200,\n height: 100,\n position: 'absolute',\n alignSelf: 'center',\n transform: [{rotateX: '180deg'}, {scaleX: 0.7}]\n }\n });\n\ninterface ButtonProps {\n title: string;\n testID: string;\n selected: boolean;\n Icon: any;\n styles: StyleSheetType;\n theme: Theme;\n}\n\nconst Button = ({testID, title, selected, Icon, styles, theme}: ButtonProps) => (\n <View testID={testID} style={styles.button}>\n <View style={{alignItems: 'center'}}>\n <Icon\n height={16}\n width={16}\n color={selected ? theme.colors.cta : theme.colors.text.primary}\n />\n <Text style={styles.buttonText}>{title}</Text>\n </View>\n {selected ? (\n <View>\n <View style={styles.dot} />\n <BlurredShadow color={theme.colors.cta} style={styles.blur} />\n </View>\n ) : null}\n </View>\n);\n\nconst NavigationBar = ({items, selectedItemIndex}: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\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.main}>\n <BlurView\n style={styleSheet.container}\n blurAmount={32}\n reducedTransparencyFallbackColor=\"rgba(17, 17, 23, 0.5)\"\n />\n <View style={styleSheet.container}>\n {items.map((prop, index) => (\n <Button\n key={`button-${prop.label}`}\n title={prop.label}\n Icon={prop.icon}\n selected={index === selectedItemIndex}\n testID={`navigationButton_${index}`}\n styles={styleSheet}\n theme={theme}\n />\n ))}\n </View>\n </View>\n );\n};\n\nexport default NavigationBar;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/organism/mobile-navigation/index.native.tsx"],"names":["React","useState","useEffect","View","StyleSheet","Text","BlurView","NovaCompositionNavigationNavBar","BlurredShadow","useTemplateContext","createStyleSheet","theme","create","main","marginHorizontal","container","position","bottom","width","flexDirection","justifyContent","alignSelf","overflow","height","borderRadius","backgroundColor","colors","gray","light","button","alignItems","flex","marginTop","spacing","small","buttonText","fontSize","lineHeight","color","text","primary","dot","cta","blur","transform","rotateX","scaleX","Button","testID","title","selected","Icon","styles","NavigationBar","items","selectedItemIndex","templateContext","styleSheet","setStylesheet","_stylesheet","map","prop","index","label","icon"],"mappings":"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","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {View, StyleSheet, Text, ViewStyle, TextStyle} from 'react-native';\nimport {BlurView} from '@react-native-community/blur';\n\nimport {NovaCompositionNavigationNavBar as BlurredShadow} from '@coorpacademy/nova-icons';\n\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\n\nexport type NavItemType = {\n label: string;\n icon: any;\n onPress: () => void;\n};\n\nexport interface Props {\n testID?: string;\n items: Array<NavItemType>;\n selectedItemIndex: number;\n}\n\ntype StyleSheetType = {\n main: ViewStyle;\n container: ViewStyle;\n button: ViewStyle;\n buttonText: TextStyle;\n dot: ViewStyle;\n blur: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n main: {\n marginHorizontal: 20\n },\n container: {\n position: 'absolute',\n bottom: 34,\n width: '100%',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignSelf: 'center',\n overflow: 'hidden',\n height: 66,\n borderRadius: 12,\n backgroundColor: theme.colors.gray.light\n },\n button: {\n alignItems: 'center',\n flex: 1,\n height: '100%',\n marginTop: theme.spacing.small\n },\n buttonText: {\n fontSize: theme.fontSize.small,\n lineHeight: 26,\n // height: 11,\n color: theme.colors.text.primary\n },\n\n dot: {\n width: 8,\n height: 8,\n borderRadius: 8,\n backgroundColor: theme.colors.cta,\n marginTop: 3,\n position: 'absolute',\n alignSelf: 'center'\n },\n blur: {\n marginTop: -87,\n width: 200,\n height: 100,\n position: 'absolute',\n alignSelf: 'center',\n transform: [{rotateX: '180deg'}, {scaleX: 0.7}]\n }\n });\n\ninterface ButtonProps {\n title: string;\n testID: string;\n selected: boolean;\n Icon: any;\n styles: StyleSheetType;\n theme: Theme;\n}\n\nconst Button = ({testID, title, selected, Icon, styles, theme}: ButtonProps) => (\n <View testID={testID} style={styles.button}>\n <View style={{alignItems: 'center'}}>\n <Icon\n height={16}\n width={16}\n color={selected ? theme.colors.cta : theme.colors.text.primary}\n />\n <Text style={styles.buttonText}>{title}</Text>\n </View>\n {selected ? (\n <View>\n <View style={styles.dot} />\n <BlurredShadow color={theme.colors.cta} style={styles.blur} />\n </View>\n ) : null}\n </View>\n);\n\nconst NavigationBar = ({items, selectedItemIndex}: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\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.main}>\n <BlurView\n style={styleSheet.container}\n blurAmount={32}\n reducedTransparencyFallbackColor=\"rgba(17, 17, 23, 0.5)\"\n />\n <View style={styleSheet.container}>\n {items.map((prop, index) => (\n <Button\n key={`button-${prop.label}`}\n title={prop.label}\n Icon={prop.icon}\n selected={index === selectedItemIndex}\n testID={`navigationButton_${index}`}\n styles={styleSheet}\n theme={theme}\n />\n ))}\n </View>\n </View>\n );\n};\n\nexport default NavigationBar;\n"],"file":"index.native.js"}
@@ -58,7 +58,7 @@ const CorrectionPopin = ({
58
58
 
59
59
  const createQuestionStyle = (theme, brandTheme) => StyleSheet.create({
60
60
  questionHeading: {
61
- // backgroundColor: '#f00', // flex-debug
61
+ // backgroundColor: '#400', // flex-debug
62
62
  justifyContent: 'space-between'
63
63
  },
64
64
  questionOrigin: {
@@ -140,7 +140,7 @@ const Question = props => {
140
140
  }, "@todo validate")));
141
141
  };
142
142
 
143
- const creatSlideStyle = (num, screenWidth, screenHeight) => {
143
+ const createSlideStyle = (num, screenWidth, screenHeight) => {
144
144
  const slideWidth = screenWidth - 40 - num * 8;
145
145
  const slideHeight = screenHeight * 0.75;
146
146
  return StyleSheet.create({
@@ -181,7 +181,7 @@ const Slide = props => {
181
181
  width,
182
182
  height
183
183
  } = useWindowDimensions();
184
- const slideStyle = creatSlideStyle(num, width, height);
184
+ const slideStyle = createSlideStyle(num, width, height);
185
185
  const {
186
186
  loading,
187
187
  parentContentTitle,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/review-slide/index.native.tsx"],"names":["React","useEffect","useState","StyleSheet","useWindowDimensions","View","get","getOr","Text","Answer","useTemplateContext","Touchable","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","createQuestionStyle","theme","brandTheme","create","questionHeading","justifyContent","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","marginTop","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesContainer","flex","width","validateButton","backgroundColor","borderRadius","validateButtonText","white","Question","props","answerUI","style","setStyle","questionStyle","creatSlideStyle","num","screenWidth","screenHeight","slideWidth","slideHeight","slide","position","top","left","height","alignItems","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","slideStyle","loading","parentContentTitle"],"mappings":"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","sourcesContent":["import React, {useEffect, useMemo, useState} from 'react';\nimport {StyleSheet, useWindowDimensions, View} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\n// import Loader from '../../atom/loader';\n// import ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Props, SlideProps} from './prop-types';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <Text>ReviewCorrectionPopin</Text>\n // <ReviewCorrectionPopin {..._correctionPopinProps} />\n );\n};\n\n// const ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n// const {label, onClick, disabled} = validateButton;\n// const validateButtonProps = {\n// type: 'primary',\n// label,\n// 'aria-label': label,\n// 'data-name': `slide-validate-button-${slideIndex}`,\n// onClick,\n// disabled,\n// customStyle: {\n// backgroundColor: primarySkinColor\n// }\n// };\n\n// return <Button title=\"validate todo\" />;\n// };\n\nconst createQuestionStyle = (theme: Theme, brandTheme: any) =>\n StyleSheet.create({\n questionHeading: {\n // backgroundColor: '#f00', // flex-debug\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n // backgroundColor: '#38295b', // flex-debug\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesContainer: {\n flex: 1,\n width: '100%',\n // backgroundColor: '#ff0', // flex-debug\n justifyContent: 'center'\n },\n validateButton: {\n backgroundColor: brandTheme?.colors.primary || theme.colors.text.primary,\n borderRadius: 7,\n width: '100%'\n },\n validateButtonText: {\n fontSize: 14,\n lineHeight: 20,\n fontWeight: '700',\n color: theme.colors.white,\n marginBottom: 16,\n marginTop: 16,\n textAlign: 'center'\n }\n });\n\ntype QuestionProps = {\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin} = props;\n const {theme, brandTheme} = useTemplateContext();\n const [style, setStyle] = useState<any | null>(null);\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme, brandTheme);\n setStyle(questionStyle);\n }, [theme, brandTheme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n return (\n <>\n <View style={style.questionHeading}>\n <Text style={style.questionOrigin}>{questionOrigin}</Text>\n <Text style={style.questionText}>{questionText}</Text>\n <Text style={style.questionHelp}>{get('help', answerUI)}</Text>\n </View>\n <View style={style.choicesContainer}>\n <Answer {...answerUI} />\n </View>\n <Touchable style={style.validateButton}>\n <Text style={style.validateButtonText}>@todo validate</Text>\n </Touchable>\n </>\n );\n};\n\nconst creatSlideStyle = (num: number, screenWidth: number, screenHeight: number) => {\n const slideWidth = screenWidth - 40 - num * 8;\n const slideHeight = screenHeight * 0.75;\n\n return StyleSheet.create({\n slide: {\n position: 'absolute',\n top: num * -5,\n left: -slideWidth / 2,\n flex: 1,\n backgroundColor: '#fff', // theme.colors.white\n height: slideHeight,\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: Props) => {\n const {slide, validateButton, correctionPopinProps, num, slideIndex = '0'} = props;\n\n const {width, height} = useWindowDimensions();\n const slideStyle = creatSlideStyle(num, width, height);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <View style={slideStyle.slide}>\n {loading ? (\n // <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n <Text>@todo loader {num}</Text>\n ) : (\n [\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </View>\n );\n};\n\nexport default Slide;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/organism/review-slide/index.native.tsx"],"names":["React","useEffect","useState","StyleSheet","useWindowDimensions","View","get","getOr","Text","Answer","useTemplateContext","Touchable","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","createQuestionStyle","theme","brandTheme","create","questionHeading","justifyContent","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","marginTop","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesContainer","flex","width","validateButton","backgroundColor","borderRadius","validateButtonText","white","Question","props","answerUI","style","setStyle","questionStyle","createSlideStyle","num","screenWidth","screenHeight","slideWidth","slideHeight","slide","position","top","left","height","alignItems","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","slideStyle","loading","parentContentTitle"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,SAAf,EAAmCC,QAAnC,QAAkD,OAAlD;AACA,SAAQC,UAAR,EAAoBC,mBAApB,EAAyCC,IAAzC,QAA+D,cAA/D;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,IAAP,MAAiB,8BAAjB;AACA,OAAOC,MAAP,MAAmB,oCAAnB,C,CACA;AACA;;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;AAEA,OAAOC,SAAP,MAAsB,kCAAtB;;AAUA,MAAMC,eAAe,GAAG,CAAC;AACvBC,EAAAA,oBADuB;AAEvBC,EAAAA,UAFuB;AAGvBC,EAAAA,mBAHuB;AAIvBC,EAAAA;AAJuB,CAAD,KAKN;AAChB,MAAI,CAACD,mBAAL,EAA0B,OAAO,IAAP;AAE1B,QAAME,GAAG,GAAGV,KAAK,CAAC,EAAD,EAAK,KAAL,EAAYM,oBAAZ,CAAjB;AACA,QAAMK,WAAW,GAAGX,KAAK,CAAC;AAACY,IAAAA,KAAK,EAAE,EAAR;AAAYC,IAAAA,OAAO,EAAE;AAArB,GAAD,EAA2B,aAA3B,EAA0CP,oBAA1C,CAAzB;AACA,QAAMQ,IAAI,GAAGf,GAAG,CAAC,MAAD,EAASO,oBAAT,CAAhB;AAEA,QAAMS,qBAAqB,GAAG;AAC5BD,IAAAA,IAAI,EAAE;AACJE,MAAAA,OAAO,EAAE,MAAM;AACb;AACAC,QAAAA,OAAO,CAACC,GAAR,CAAY,YAAZ;AACD,OAJG;AAKJN,MAAAA,KAAK,EAAEE,IAAI,IAAIA,IAAI,CAACF,KALhB;AAMJ,mBAAc,wBAAuBL,UAAW,EAN5C;AAOJ,oBAAcO,IAAI,IAAIA,IAAI,CAAC,YAAD;AAPtB,KADsB;AAU5BJ,IAAAA,GAV4B;AAW5BC,IAAAA,WAX4B;AAY5BQ,IAAAA,IAAI,EAAEb,oBAAoB,CAACa,IAZC;AAa5BC,IAAAA,WAAW,EAAEd,oBAAoB,CAACc;AAbN,GAA9B;AAgBA,sBACE,oBAAC,IAAD,gCADF,CAEE;AAFF;AAID,CAhCD,C,CAkCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;;AAEA,MAAMC,mBAAmB,GAAG,CAACC,KAAD,EAAeC,UAAf,KAC1B3B,UAAU,CAAC4B,MAAX,CAAkB;AAChBC,EAAAA,eAAe,EAAE;AACf;AACAC,IAAAA,cAAc,EAAE;AAFD,GADD;AAKhBC,EAAAA,cAAc,EAAE;AACdC,IAAAA,QAAQ,EAAE,EADI;AAEdC,IAAAA,UAAU,EAAE,EAFE;AAGdC,IAAAA,KAAK,EAAER,KAAK,CAACS,MAAN,CAAaC,IAAb,CAAkBC,OAHX;AAIdC,IAAAA,YAAY,EAAEZ,KAAK,CAACa,OAAN,CAAcC,IAJd;AAKdC,IAAAA,SAAS,EAAEf,KAAK,CAACa,OAAN,CAAcG,KALX;AAMdC,IAAAA,SAAS,EAAE;AANG,GALA;AAahBC,EAAAA,YAAY,EAAE;AACZZ,IAAAA,QAAQ,EAAE,EADE;AAEZC,IAAAA,UAAU,EAAE,EAFA;AAGZY,IAAAA,UAAU,EAAE,KAHA;AAIZX,IAAAA,KAAK,EAAER,KAAK,CAACS,MAAN,CAAaC,IAAb,CAAkBC,OAJb;AAKZM,IAAAA,SAAS,EAAE;AALC,GAbE;AAoBhBG,EAAAA,YAAY,EAAE;AACZ;AACAd,IAAAA,QAAQ,EAAE,EAFE;AAGZC,IAAAA,UAAU,EAAE,EAHA;AAIZC,IAAAA,KAAK,EAAER,KAAK,CAACS,MAAN,CAAaY,IAAb,CAAkBC,MAJb;AAKZV,IAAAA,YAAY,EAAE,CALF;AAMZG,IAAAA,SAAS,EAAEf,KAAK,CAACa,OAAN,CAAcG,KANb;AAOZC,IAAAA,SAAS,EAAE;AAPC,GApBE;AA6BhBM,EAAAA,gBAAgB,EAAE;AAChBC,IAAAA,IAAI,EAAE,CADU;AAEhBC,IAAAA,KAAK,EAAE,MAFS;AAGhB;AACArB,IAAAA,cAAc,EAAE;AAJA,GA7BF;AAmChBsB,EAAAA,cAAc,EAAE;AACdC,IAAAA,eAAe,EAAE1B,UAAU,EAAEQ,MAAZ,CAAmBE,OAAnB,IAA8BX,KAAK,CAACS,MAAN,CAAaC,IAAb,CAAkBC,OADnD;AAEdiB,IAAAA,YAAY,EAAE,CAFA;AAGdH,IAAAA,KAAK,EAAE;AAHO,GAnCA;AAwChBI,EAAAA,kBAAkB,EAAE;AAClBvB,IAAAA,QAAQ,EAAE,EADQ;AAElBC,IAAAA,UAAU,EAAE,EAFM;AAGlBY,IAAAA,UAAU,EAAE,KAHM;AAIlBX,IAAAA,KAAK,EAAER,KAAK,CAACS,MAAN,CAAaqB,KAJF;AAKlBlB,IAAAA,YAAY,EAAE,EALI;AAMlBG,IAAAA,SAAS,EAAE,EANO;AAOlBE,IAAAA,SAAS,EAAE;AAPO;AAxCJ,CAAlB,CADF;;AA0DA,MAAMc,QAAQ,GAAIC,KAAD,IAA0B;AACzC,QAAM;AAACC,IAAAA,QAAD;AAAWf,IAAAA,YAAX;AAAyBb,IAAAA;AAAzB,MAA2C2B,KAAjD;AACA,QAAM;AAAChC,IAAAA,KAAD;AAAQC,IAAAA;AAAR,MAAsBpB,kBAAkB,EAA9C;AACA,QAAM,CAACqD,KAAD,EAAQC,QAAR,IAAoB9D,QAAQ,CAAa,IAAb,CAAlC;AAEAD,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMgE,aAAa,GAAGrC,mBAAmB,CAACC,KAAD,EAAQC,UAAR,CAAzC;AACAkC,IAAAA,QAAQ,CAACC,aAAD,CAAR;AACD,GAHQ,EAGN,CAACpC,KAAD,EAAQC,UAAR,CAHM,CAAT;AAKA,MAAI,CAACgC,QAAD,IAAa,CAACf,YAAd,IAA8B,CAACgB,KAAnC,EAA0C,OAAO,IAAP;AAE1C,sBACE,uDACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEA,KAAK,CAAC/B;AAAnB,kBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE+B,KAAK,CAAC7B;AAAnB,KAAoCA,cAApC,CADF,eAEE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE6B,KAAK,CAAChB;AAAnB,KAAkCA,YAAlC,CAFF,eAGE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEgB,KAAK,CAACd;AAAnB,KAAkC3C,GAAG,CAAC,MAAD,EAASwD,QAAT,CAArC,CAHF,CADF,eAME,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEC,KAAK,CAACX;AAAnB,kBACE,oBAAC,MAAD,EAAYU,QAAZ,CADF,CANF,eASE,oBAAC,SAAD;AAAW,IAAA,KAAK,EAAEC,KAAK,CAACR;AAAxB,kBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEQ,KAAK,CAACL;AAAnB,sBADF,CATF,CADF;AAeD,CA3BD;;AAiCA,MAAMQ,gBAAgB,GAAG,CAACC,GAAD,EAAcC,WAAd,EAAmCC,YAAnC,KAAwE;AAC/F,QAAMC,UAAU,GAAGF,WAAW,GAAG,EAAd,GAAmBD,GAAG,GAAG,CAA5C;AACA,QAAMI,WAAW,GAAGF,YAAY,GAAG,IAAnC;AAEA,SAAOlE,UAAU,CAAC4B,MAAX,CAAkB;AACvByC,IAAAA,KAAK,EAAE;AACLC,MAAAA,QAAQ,EAAE,UADL;AAELC,MAAAA,GAAG,EAAEP,GAAG,GAAG,CAAC,CAFP;AAGLQ,MAAAA,IAAI,EAAE,CAACL,UAAD,GAAc,CAHf;AAILjB,MAAAA,IAAI,EAAE,CAJD;AAKLG,MAAAA,eAAe,EAAE,MALZ;AAKoB;AACzBoB,MAAAA,MAAM,EAAEL,WANH;AAOLjB,MAAAA,KAAK,EAAEgB,UAPF;AAQLrC,MAAAA,cAAc,EAAE,eARX;AASL4C,MAAAA,UAAU,EAAE,QATP;AAULC,MAAAA,OAAO,EAAE,EAVJ;AAWLC,MAAAA,WAAW,EAAE,MAXR;AAYLC,MAAAA,YAAY,EAAE;AAAC1B,QAAAA,KAAK,EAAE,CAAR;AAAWsB,QAAAA,MAAM,EAAE,CAAC;AAApB,OAZT;AAaLK,MAAAA,aAAa,EAAE,IAbV;AAcLC,MAAAA,YAAY,EAAE,EAdT;AAeLC,MAAAA,SAAS,EAAE,KAAKhB,GAAG,GAAG,CAfjB;AAgBLV,MAAAA,YAAY,EAAE;AAhBT;AADgB,GAAlB,CAAP;AAoBD,CAxBD;;AA0BA,MAAM2B,KAAK,GAAIvB,KAAD,IAAkB;AAC9B,QAAM;AAACW,IAAAA,KAAD;AAAQjB,IAAAA,cAAR;AAAwB1C,IAAAA,oBAAxB;AAA8CsD,IAAAA,GAA9C;AAAmDrD,IAAAA,UAAU,GAAG;AAAhE,MAAuE+C,KAA7E;AAEA,QAAM;AAACP,IAAAA,KAAD;AAAQsB,IAAAA;AAAR,MAAkBxE,mBAAmB,EAA3C;AACA,QAAMiF,UAAU,GAAGnB,gBAAgB,CAACC,GAAD,EAAMb,KAAN,EAAasB,MAAb,CAAnC;AAEA,QAAM;AACJU,IAAAA,OADI;AAEJC,IAAAA,kBAFI;AAGJxC,IAAAA,YAHI;AAIJe,IAAAA,QAJI;AAKJ/C,IAAAA,mBALI;AAMJC,IAAAA;AANI,MAOFwD,KAPJ;AASA,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEa,UAAU,CAACb;AAAxB,KACGc,OAAO;AAAA;AACN;AACA,sBAAC,IAAD,yBAAoBnB,GAApB,CAFM,GAIN,cACE,oBAAC,QAAD;AACE,IAAA,cAAc,EAAEoB,kBADlB;AAEE,IAAA,YAAY,EAAExC,YAFhB;AAGE,IAAA,QAAQ,EAAEe,QAHZ;AAIE,IAAA,GAAG,EAAC;AAJN,IADF,eAOE,oBAAC,eAAD;AACE,IAAA,oBAAoB,EAAEjD,oBADxB;AAEE,IAAA,UAAU,EAAEC,UAFd;AAGE,IAAA,mBAAmB,EAAEC,mBAHvB;AAIE,IAAA,sBAAsB,EAAEC,sBAJ1B;AAKE,IAAA,GAAG,EAAC;AALN,IAPF,CALJ,CADF;AAwBD,CAvCD;;AAyCA,eAAeoE,KAAf","sourcesContent":["import React, {useEffect, useMemo, useState} from 'react';\nimport {StyleSheet, useWindowDimensions, View, ViewStyle} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\n// import Loader from '../../atom/loader';\n// import ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {CorrectionPopinProps, Props, SlideProps} from './prop-types';\n\ntype PopinProps = {\n correctionPopinProps: CorrectionPopinProps;\n slideIndex: unknown;\n showCorrectionPopin: unknown;\n animateCorrectionPopin: unknown;\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <Text>ReviewCorrectionPopin</Text>\n // <ReviewCorrectionPopin {..._correctionPopinProps} />\n );\n};\n\n// const ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n// const {label, onClick, disabled} = validateButton;\n// const validateButtonProps = {\n// type: 'primary',\n// label,\n// 'aria-label': label,\n// 'data-name': `slide-validate-button-${slideIndex}`,\n// onClick,\n// disabled,\n// customStyle: {\n// backgroundColor: primarySkinColor\n// }\n// };\n\n// return <Button title=\"validate todo\" />;\n// };\n\nconst createQuestionStyle = (theme: Theme, brandTheme: any) =>\n StyleSheet.create({\n questionHeading: {\n // backgroundColor: '#400', // flex-debug\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n // backgroundColor: '#38295b', // flex-debug\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesContainer: {\n flex: 1,\n width: '100%',\n // backgroundColor: '#ff0', // flex-debug\n justifyContent: 'center'\n },\n validateButton: {\n backgroundColor: brandTheme?.colors.primary || theme.colors.text.primary,\n borderRadius: 7,\n width: '100%'\n },\n validateButtonText: {\n fontSize: 14,\n lineHeight: 20,\n fontWeight: '700',\n color: theme.colors.white,\n marginBottom: 16,\n marginTop: 16,\n textAlign: 'center'\n }\n });\n\ntype QuestionProps = {\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin} = props;\n const {theme, brandTheme} = useTemplateContext();\n const [style, setStyle] = useState<any | null>(null);\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme, brandTheme);\n setStyle(questionStyle);\n }, [theme, brandTheme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n return (\n <>\n <View style={style.questionHeading}>\n <Text style={style.questionOrigin}>{questionOrigin}</Text>\n <Text style={style.questionText}>{questionText}</Text>\n <Text style={style.questionHelp}>{get('help', answerUI)}</Text>\n </View>\n <View style={style.choicesContainer}>\n <Answer {...answerUI} />\n </View>\n <Touchable style={style.validateButton}>\n <Text style={style.validateButtonText}>@todo validate</Text>\n </Touchable>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n};\n\nconst createSlideStyle = (num: number, screenWidth: number, screenHeight: number): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n const slideHeight = screenHeight * 0.75;\n\n return StyleSheet.create({\n slide: {\n position: 'absolute',\n top: num * -5,\n left: -slideWidth / 2,\n flex: 1,\n backgroundColor: '#fff', // theme.colors.white\n height: slideHeight,\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: Props) => {\n const {slide, validateButton, correctionPopinProps, num, slideIndex = '0'} = props;\n\n const {width, height} = useWindowDimensions();\n const slideStyle = createSlideStyle(num, width, height);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <View style={slideStyle.slide}>\n {loading ? (\n // <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n <Text>@todo loader {num}</Text>\n ) : (\n [\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </View>\n );\n};\n\nexport default Slide;\n"],"file":"index.native.js"}