@coorpacademy/components 10.26.0 → 10.27.0

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 (177) hide show
  1. package/es/atom/choice/index.native.d.ts.map +1 -1
  2. package/es/atom/choice/index.native.js +6 -4
  3. package/es/atom/choice/index.native.js.map +1 -1
  4. package/es/atom/header-back-button/index.native.d.ts +1 -1
  5. package/es/atom/header-back-button/index.native.d.ts.map +1 -1
  6. package/es/atom/header-back-button/index.native.js.map +1 -1
  7. package/es/atom/html/index.native.d.ts.map +1 -1
  8. package/es/atom/html/index.native.js +8 -14
  9. package/es/atom/html/index.native.js.map +1 -1
  10. package/es/atom/image-background/index.native.d.ts.map +1 -1
  11. package/es/atom/image-background/index.native.js +0 -1
  12. package/es/atom/image-background/index.native.js.map +1 -1
  13. package/es/atom/provider/web-context.d.ts +3 -3
  14. package/es/atom/provider/web-context.d.ts.map +1 -1
  15. package/es/atom/provider/web-context.js +10 -11
  16. package/es/atom/provider/web-context.js.map +1 -1
  17. package/es/atom/review-header-step-item/index.native.d.ts.map +1 -1
  18. package/es/atom/review-header-step-item/index.native.js.map +1 -1
  19. package/es/atom/select-modal/index.native.js.map +1 -1
  20. package/es/hoc/modal/index.native.d.ts +1 -1
  21. package/es/hoc/modal/index.native.d.ts.map +1 -1
  22. package/es/hoc/modal/index.native.js.map +1 -1
  23. package/es/hoc/modal/select/index.native.d.ts.map +1 -1
  24. package/es/hoc/modal/select/index.native.js +3 -3
  25. package/es/hoc/modal/select/index.native.js.map +1 -1
  26. package/es/hoc/modal/select-item/index.native.d.ts +1 -1
  27. package/es/hoc/modal/select-item/index.native.d.ts.map +1 -1
  28. package/es/hoc/modal/select-item/index.native.js +1 -1
  29. package/es/hoc/modal/select-item/index.native.js.map +1 -1
  30. package/es/hoc/touchable/index.native.d.ts +5 -5
  31. package/es/hoc/touchable/index.native.d.ts.map +1 -1
  32. package/es/hoc/touchable/index.native.js.map +1 -1
  33. package/es/molecule/answer/prop-types.d.ts +2 -18
  34. package/es/molecule/answer/prop-types.d.ts.map +1 -1
  35. package/es/molecule/answer/prop-types.js.map +1 -1
  36. package/es/molecule/brand-logo/index.native.d.ts.map +1 -1
  37. package/es/molecule/brand-logo/index.native.js +4 -3
  38. package/es/molecule/brand-logo/index.native.js.map +1 -1
  39. package/es/molecule/questions/free-text/index.native.d.ts.map +1 -1
  40. package/es/molecule/questions/free-text/index.native.js +2 -2
  41. package/es/molecule/questions/free-text/index.native.js.map +1 -1
  42. package/es/molecule/questions/mobile/draggable/index.native.js +1 -1
  43. package/es/molecule/questions/mobile/draggable/index.native.js.map +1 -1
  44. package/es/molecule/questions/mobile/slider/index.native.js +3 -3
  45. package/es/molecule/questions/mobile/slider/index.native.js.map +1 -1
  46. package/es/molecule/questions/mobile/switch/index.native.js +2 -2
  47. package/es/molecule/questions/mobile/switch/index.native.js.map +1 -1
  48. package/es/molecule/questions/mobile/template/index.native.js +3 -3
  49. package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
  50. package/es/molecule/questions/types.d.ts +10 -3
  51. package/es/molecule/questions/types.d.ts.map +1 -1
  52. package/es/molecule/questions/types.js.map +1 -1
  53. package/es/molecule/video-player/jwplayer.d.ts +1 -3
  54. package/es/molecule/video-player/jwplayer.d.ts.map +1 -1
  55. package/es/molecule/video-player/jwplayer.js +32 -34
  56. package/es/molecule/video-player/jwplayer.js.map +1 -1
  57. package/es/organism/header-v2/index.native.d.ts +3 -3
  58. package/es/organism/header-v2/index.native.d.ts.map +1 -1
  59. package/es/organism/header-v2/index.native.js.map +1 -1
  60. package/es/organism/mobile-navigation/index.native.d.ts +24 -2
  61. package/es/organism/mobile-navigation/index.native.d.ts.map +1 -1
  62. package/es/organism/mobile-navigation/index.native.js.map +1 -1
  63. package/es/organism/review-slide/index.native.d.ts.map +1 -1
  64. package/es/organism/review-slide/index.native.js +7 -8
  65. package/es/organism/review-slide/index.native.js.map +1 -1
  66. package/es/template/app-player/popin-header/index.js +4 -4
  67. package/es/template/app-player/popin-header/index.js.map +1 -1
  68. package/es/template/app-review/index.native.js +0 -2
  69. package/es/template/app-review/index.native.js.map +1 -1
  70. package/es/template/app-review/player/index.native.js +2 -5
  71. package/es/template/app-review/player/index.native.js.map +1 -1
  72. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  73. package/es/template/app-review/player/prop-types.js.map +1 -1
  74. package/es/template/app-review/template-context.d.ts +4 -3
  75. package/es/template/app-review/template-context.d.ts.map +1 -1
  76. package/es/template/app-review/template-context.js +3 -3
  77. package/es/template/app-review/template-context.js.map +1 -1
  78. package/es/variables/analytics.d.ts +4 -1
  79. package/es/variables/analytics.d.ts.map +1 -1
  80. package/es/variables/analytics.js.map +1 -1
  81. package/es/variables/brand.native.d.ts +1 -0
  82. package/es/variables/brand.native.d.ts.map +1 -1
  83. package/es/variables/brand.native.js +1 -1
  84. package/es/variables/brand.native.js.map +1 -1
  85. package/es/variables/theme.native.d.ts +0 -1
  86. package/es/variables/theme.native.d.ts.map +1 -1
  87. package/es/variables/theme.native.js +0 -1
  88. package/es/variables/theme.native.js.map +1 -1
  89. package/lib/atom/choice/index.native.d.ts.map +1 -1
  90. package/lib/atom/choice/index.native.js +6 -4
  91. package/lib/atom/choice/index.native.js.map +1 -1
  92. package/lib/atom/header-back-button/index.native.d.ts +1 -1
  93. package/lib/atom/header-back-button/index.native.d.ts.map +1 -1
  94. package/lib/atom/header-back-button/index.native.js.map +1 -1
  95. package/lib/atom/html/index.native.d.ts.map +1 -1
  96. package/lib/atom/html/index.native.js +7 -13
  97. package/lib/atom/html/index.native.js.map +1 -1
  98. package/lib/atom/image-background/index.native.d.ts.map +1 -1
  99. package/lib/atom/image-background/index.native.js +0 -1
  100. package/lib/atom/image-background/index.native.js.map +1 -1
  101. package/lib/atom/provider/web-context.d.ts +3 -3
  102. package/lib/atom/provider/web-context.d.ts.map +1 -1
  103. package/lib/atom/provider/web-context.js +10 -11
  104. package/lib/atom/provider/web-context.js.map +1 -1
  105. package/lib/atom/review-header-step-item/index.native.d.ts.map +1 -1
  106. package/lib/atom/review-header-step-item/index.native.js.map +1 -1
  107. package/lib/atom/select-modal/index.native.js.map +1 -1
  108. package/lib/hoc/modal/index.native.d.ts +1 -1
  109. package/lib/hoc/modal/index.native.d.ts.map +1 -1
  110. package/lib/hoc/modal/index.native.js.map +1 -1
  111. package/lib/hoc/modal/select/index.native.d.ts.map +1 -1
  112. package/lib/hoc/modal/select/index.native.js +3 -3
  113. package/lib/hoc/modal/select/index.native.js.map +1 -1
  114. package/lib/hoc/modal/select-item/index.native.d.ts +1 -1
  115. package/lib/hoc/modal/select-item/index.native.d.ts.map +1 -1
  116. package/lib/hoc/modal/select-item/index.native.js +1 -1
  117. package/lib/hoc/modal/select-item/index.native.js.map +1 -1
  118. package/lib/hoc/touchable/index.native.d.ts +5 -5
  119. package/lib/hoc/touchable/index.native.d.ts.map +1 -1
  120. package/lib/hoc/touchable/index.native.js.map +1 -1
  121. package/lib/molecule/answer/prop-types.d.ts +2 -18
  122. package/lib/molecule/answer/prop-types.d.ts.map +1 -1
  123. package/lib/molecule/answer/prop-types.js.map +1 -1
  124. package/lib/molecule/brand-logo/index.native.d.ts.map +1 -1
  125. package/lib/molecule/brand-logo/index.native.js +4 -3
  126. package/lib/molecule/brand-logo/index.native.js.map +1 -1
  127. package/lib/molecule/questions/free-text/index.native.d.ts.map +1 -1
  128. package/lib/molecule/questions/free-text/index.native.js +2 -2
  129. package/lib/molecule/questions/free-text/index.native.js.map +1 -1
  130. package/lib/molecule/questions/mobile/draggable/index.native.js +1 -1
  131. package/lib/molecule/questions/mobile/draggable/index.native.js.map +1 -1
  132. package/lib/molecule/questions/mobile/slider/index.native.js +3 -3
  133. package/lib/molecule/questions/mobile/slider/index.native.js.map +1 -1
  134. package/lib/molecule/questions/mobile/switch/index.native.js +2 -2
  135. package/lib/molecule/questions/mobile/switch/index.native.js.map +1 -1
  136. package/lib/molecule/questions/mobile/template/index.native.js +3 -3
  137. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
  138. package/lib/molecule/questions/types.d.ts +10 -3
  139. package/lib/molecule/questions/types.d.ts.map +1 -1
  140. package/lib/molecule/questions/types.js.map +1 -1
  141. package/lib/molecule/video-player/jwplayer.d.ts +1 -3
  142. package/lib/molecule/video-player/jwplayer.d.ts.map +1 -1
  143. package/lib/molecule/video-player/jwplayer.js +32 -34
  144. package/lib/molecule/video-player/jwplayer.js.map +1 -1
  145. package/lib/organism/header-v2/index.native.d.ts +3 -3
  146. package/lib/organism/header-v2/index.native.d.ts.map +1 -1
  147. package/lib/organism/header-v2/index.native.js.map +1 -1
  148. package/lib/organism/mobile-navigation/index.native.d.ts +24 -2
  149. package/lib/organism/mobile-navigation/index.native.d.ts.map +1 -1
  150. package/lib/organism/mobile-navigation/index.native.js.map +1 -1
  151. package/lib/organism/review-slide/index.native.d.ts.map +1 -1
  152. package/lib/organism/review-slide/index.native.js +7 -8
  153. package/lib/organism/review-slide/index.native.js.map +1 -1
  154. package/lib/template/app-player/popin-header/index.js +4 -4
  155. package/lib/template/app-player/popin-header/index.js.map +1 -1
  156. package/lib/template/app-review/index.native.js +0 -2
  157. package/lib/template/app-review/index.native.js.map +1 -1
  158. package/lib/template/app-review/player/index.native.js +2 -5
  159. package/lib/template/app-review/player/index.native.js.map +1 -1
  160. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  161. package/lib/template/app-review/player/prop-types.js.map +1 -1
  162. package/lib/template/app-review/template-context.d.ts +4 -3
  163. package/lib/template/app-review/template-context.d.ts.map +1 -1
  164. package/lib/template/app-review/template-context.js +4 -3
  165. package/lib/template/app-review/template-context.js.map +1 -1
  166. package/lib/variables/analytics.d.ts +4 -1
  167. package/lib/variables/analytics.d.ts.map +1 -1
  168. package/lib/variables/analytics.js.map +1 -1
  169. package/lib/variables/brand.native.d.ts +1 -0
  170. package/lib/variables/brand.native.d.ts.map +1 -1
  171. package/lib/variables/brand.native.js +5 -0
  172. package/lib/variables/brand.native.js.map +1 -1
  173. package/lib/variables/theme.native.d.ts +0 -1
  174. package/lib/variables/theme.native.d.ts.map +1 -1
  175. package/lib/variables/theme.native.js +0 -1
  176. package/lib/variables/theme.native.js.map +1 -1
  177. package/package.json +6 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/brand-logo/index.native.tsx"],"names":[],"mappings":";AAKA,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD,QAAA,MAAM,SAAS,eAAc,KAAK,gBAmBjC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/brand-logo/index.native.tsx"],"names":[],"mappings":";AAKA,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD,QAAA,MAAM,SAAS,eAAc,KAAK,gBAgBjC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -33,12 +33,13 @@ const BrandLogo = ({
33
33
  height
34
34
  });
35
35
 
36
+ const source = {
37
+ uri: brandTheme.images && brandTheme.images['logo-mobile']
38
+ };
36
39
  return /*#__PURE__*/_react.default.createElement(_index.default, {
37
40
  style: imageStyle,
38
41
  testID: "brand-logo",
39
- source: {
40
- uri: brandTheme.images['logo-mobile']
41
- },
42
+ source: source,
42
43
  resizeMode: "contain"
43
44
  });
44
45
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["styles","StyleSheet","create","logo","width","BrandLogo","height","templateContext","useTemplateContext","brandTheme","imageStyle","uri","images"],"sources":["../../../src/molecule/brand-logo/index.native.tsx"],"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"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAYA,MAAMA,MAAsB,GAAGC,uBAAA,CAAWC,MAAX,CAAkB;EAC/CC,IAAI,EAAE;IACJC,KAAK,EAAE;EADH;AADyC,CAAlB,CAA/B;;AAMA,MAAMC,SAAS,GAAG,CAAC;EAACC;AAAD,CAAD,KAAqB;EACrC,MAAMC,eAAe,GAAG,IAAAC,mCAAA,GAAxB;EACA,MAAM;IAACC;EAAD,IAAeF,eAArB;;EAEA,MAAMG,UAAqB,gBACtBV,MAAM,CAACG,IADe;IAEzBG;EAFyB,EAA3B;;EAKA,oBACE,6BAAC,cAAD;IACE,KAAK,EAAEI,UADT;IAEE,MAAM,EAAC,YAFT;IAGE,MAAM,EAAE;MACNC,GAAG,EAAEF,UAAU,CAACG,MAAX,CAAkB,aAAlB;IADC,CAHV;IAME,UAAU,EAAC;EANb,EADF;AAUD,CAnBD;;eAqBeP,S"}
1
+ {"version":3,"file":"index.native.js","names":["styles","StyleSheet","create","logo","width","BrandLogo","height","templateContext","useTemplateContext","brandTheme","imageStyle","source","uri","images"],"sources":["../../../src/molecule/brand-logo/index.native.tsx"],"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 const source = {\n uri: brandTheme.images && brandTheme.images['logo-mobile']\n };\n\n return (\n <ImageBackground style={imageStyle} testID=\"brand-logo\" source={source} resizeMode=\"contain\" />\n );\n};\n\nexport default BrandLogo;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAYA,MAAMA,MAAsB,GAAGC,uBAAA,CAAWC,MAAX,CAAkB;EAC/CC,IAAI,EAAE;IACJC,KAAK,EAAE;EADH;AADyC,CAAlB,CAA/B;;AAMA,MAAMC,SAAS,GAAG,CAAC;EAACC;AAAD,CAAD,KAAqB;EACrC,MAAMC,eAAe,GAAG,IAAAC,mCAAA,GAAxB;EACA,MAAM;IAACC;EAAD,IAAeF,eAArB;;EAEA,MAAMG,UAAqB,gBACtBV,MAAM,CAACG,IADe;IAEzBG;EAFyB,EAA3B;;EAKA,MAAMK,MAAM,GAAG;IACbC,GAAG,EAAEH,UAAU,CAACI,MAAX,IAAqBJ,UAAU,CAACI,MAAX,CAAkB,aAAlB;EADb,CAAf;EAIA,oBACE,6BAAC,cAAD;IAAiB,KAAK,EAAEH,UAAxB;IAAoC,MAAM,EAAC,YAA3C;IAAwD,MAAM,EAAEC,MAAhE;IAAwE,UAAU,EAAC;EAAnF,EADF;AAGD,CAhBD;;eAkBeN,S"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/free-text/index.native.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAuB,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAI7E,aAAK,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;AAEzC,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6CD,QAAA,MAAM,QAAQ,UAAW,KAAK,uBA2D7B,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/free-text/index.native.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAuB,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAK7E,aAAK,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;AAEzC,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6CD,QAAA,MAAM,QAAQ,UAAW,KAAK,uBA2D7B,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -32,8 +32,8 @@ const createStyleSheet = (brandTheme, theme) => _reactNative.StyleSheet.create({
32
32
  backgroundColor: theme.colors.white
33
33
  }),
34
34
  text: {
35
- borderColor: brandTheme?.colors.primary,
36
- color: brandTheme?.colors.primary || theme.colors.gray.medium,
35
+ borderColor: brandTheme?.colors?.primary,
36
+ color: brandTheme?.colors?.primary || theme.colors.gray.medium,
37
37
  fontWeight: theme.fontWeight.bold,
38
38
  fontSize: theme.fontSize.regular,
39
39
  textAlign: 'center'
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["createStyleSheet","brandTheme","theme","StyleSheet","create","input","padding","spacing","tiny","borderColor","colors","gray","lightMedium","borderRadius","radius","regular","minWidth","marginHorizontal","paddingVertical","BOX_STYLE","backgroundColor","white","text","primary","color","medium","fontWeight","bold","fontSize","textAlign","spaced","fullWitdh","width","logEvent","eventName","analytics","questionType","id","FreeText","props","templateContext","useTemplateContext","styleSheet","setStylesheet","useState","translations","PLACEHOLDER_COLOR","fullWidth","testID","onChange","isDisabled","value","handleFocus","useCallback","ANALYTICS_EVENT_TYPE","INPUT_FOCUS","handleBlur","INPUT_BLUR","useEffect","_stylesheet","typeHere"],"sources":["../../../../src/molecule/questions/free-text/index.native.tsx"],"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';\nimport {BOX_STYLE} from '../../../variables/shadow';\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 // eslint-disable-next-line @coorpacademy/coorpacademy/no-overwriting-spread\n input: {\n padding: theme.spacing.tiny,\n borderColor: theme.colors.gray.lightMedium,\n borderRadius: theme.radius.regular,\n minWidth: 175,\n marginHorizontal: 12,\n paddingVertical: 16,\n ...BOX_STYLE,\n backgroundColor: theme.colors.white\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"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["createStyleSheet","brandTheme","theme","StyleSheet","create","input","padding","spacing","tiny","borderColor","colors","gray","lightMedium","borderRadius","radius","regular","minWidth","marginHorizontal","paddingVertical","BOX_STYLE","backgroundColor","white","text","primary","color","medium","fontWeight","bold","fontSize","textAlign","spaced","fullWitdh","width","logEvent","eventName","analytics","questionType","id","FreeText","props","templateContext","useTemplateContext","styleSheet","setStylesheet","useState","translations","PLACEHOLDER_COLOR","fullWidth","testID","onChange","isDisabled","value","handleFocus","useCallback","ANALYTICS_EVENT_TYPE","INPUT_FOCUS","handleBlur","INPUT_BLUR","useEffect","_stylesheet","typeHere"],"sources":["../../../../src/molecule/questions/free-text/index.native.tsx"],"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';\nimport {BOX_STYLE} from '../../../variables/shadow';\nimport {Brand} from '../../../variables/brand.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: Brand, theme: Theme): StyleSheetType =>\n StyleSheet.create({\n // eslint-disable-next-line @coorpacademy/coorpacademy/no-overwriting-spread\n input: {\n padding: theme.spacing.tiny,\n borderColor: theme.colors.gray.lightMedium,\n borderRadius: theme.radius.regular,\n minWidth: 175,\n marginHorizontal: 12,\n paddingVertical: 16,\n ...BOX_STYLE,\n backgroundColor: theme.colors.white\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"],"mappings":"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"}
@@ -115,7 +115,7 @@ const QuestionDraggable = props => {
115
115
  testID
116
116
  } = props;
117
117
  const selectedChoices = choices.filter(item => item.selected);
118
- const pickableChoices = choices.filter(item => !item.selected).map((item, index) => /*#__PURE__*/_react.default.createElement(_index.default, {
118
+ const pickableChoices = choices.filter(item => !item.selected).map(item => /*#__PURE__*/_react.default.createElement(_index.default, {
119
119
  style: styleSheet.choice,
120
120
  key: item._id,
121
121
  squeezed: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["createDropZoneStyle","theme","StyleSheet","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","useTemplateContext","translations","onPress","styleSheet","setStylesheet","useState","useEffect","_stylesheet","choices","mappedSortedChoices","map","item","_id","label","hasNoSelectedChoices","length","selectSomethingBelow","createStyleSheet","pickableChoices","QuestionDraggable","testID","selectedChoices","filter","selected","index"],"sources":["../../../../../src/molecule/questions/mobile/draggable/index.native.tsx"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["createDropZoneStyle","theme","StyleSheet","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","useTemplateContext","translations","onPress","styleSheet","setStylesheet","useState","useEffect","_stylesheet","choices","mappedSortedChoices","map","item","_id","label","hasNoSelectedChoices","length","selectSomethingBelow","createStyleSheet","pickableChoices","QuestionDraggable","testID","selectedChoices","filter","selected"],"sources":["../../../../../src/molecule/questions/mobile/draggable/index.native.tsx"],"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) => (\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"],"mappings":"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"}
@@ -102,7 +102,7 @@ const QuestionSlider = props => {
102
102
  testID: testID
103
103
  }, /*#__PURE__*/_react.default.createElement(_index.default, {
104
104
  style: [styleSheet.header, {
105
- color: brandTheme?.colors.primary
105
+ color: brandTheme?.colors?.primary
106
106
  }],
107
107
  testID: "slider-value"
108
108
  }, value), /*#__PURE__*/_react.default.createElement(_reactNativeSlider.default, {
@@ -112,10 +112,10 @@ const QuestionSlider = props => {
112
112
  maximumValue: max,
113
113
  minimumValue: min,
114
114
  onSlidingComplete: handleSlidingComplete,
115
- minimumTrackTintColor: brandTheme?.colors.primary,
115
+ minimumTrackTintColor: brandTheme?.colors?.primary,
116
116
  trackStyle: styleSheet.track,
117
117
  thumbStyle: [styleSheet.thumb, {
118
- borderColor: brandTheme?.colors.primary
118
+ borderColor: brandTheme?.colors?.primary
119
119
  }],
120
120
  testID: "slider"
121
121
  }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["createStyleSheet","theme","StyleSheet","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","BOX_STYLE","width","backgroundColor","borderWidth","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","templateContext","useTemplateContext","brandTheme","styleSheet","setStylesheet","useState","setValue","handleSlidingComplete","useCallback","useEffect","_stylesheet","primary","borderColor"],"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["createStyleSheet","theme","StyleSheet","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","BOX_STYLE","width","backgroundColor","borderWidth","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","templateContext","useTemplateContext","brandTheme","styleSheet","setStylesheet","useState","setValue","handleSlidingComplete","useCallback","useEffect","_stylesheet","primary","borderColor"],"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"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"],"mappings":"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"}
@@ -99,7 +99,7 @@ const Switch = props => {
99
99
  case 'qcm':
100
100
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
101
101
  testID: "question-choices"
102
- }, choices.map((choice, index) => /*#__PURE__*/_react.default.createElement(_index.default, {
102
+ }, choices.map(choice => /*#__PURE__*/_react.default.createElement(_index.default, {
103
103
  key: `question-choice-${choice._id}`,
104
104
  onPress: handleChoicePress(choice),
105
105
  isDisabled: isDisabled,
@@ -112,7 +112,7 @@ const Switch = props => {
112
112
  case 'qcmGraphic':
113
113
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
114
114
  testID: "question-choices"
115
- }, choices.map((choice, index) => /*#__PURE__*/_react.default.createElement(_index.default, {
115
+ }, choices.map(choice => /*#__PURE__*/_react.default.createElement(_index.default, {
116
116
  key: `question-choice-${choice._id}`,
117
117
  onPress: handleChoicePress(choice),
118
118
  media: choice.media,
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["styleSheet","StyleSheet","create","cards","flexDirection","alignItems","card","flex","choice","paddingVertical","Switch","props","templateContext","useTemplateContext","analytics","store","focusedSelectId","handleBlur","handleFocus","type","template","isDisabled","choices","min","max","unit","value","step","onSliderChange","onItemPress","onItemInputChange","onInputValueChange","handleChoicePress","useCallback","onPress","handleItemInputChange","_value","handleSlidingComplete","logEvent","ANALYTICS_EVENT_TYPE","SLIDE","id","questionType","map","index","_id","selected","label","media","undefined","console","warn"],"sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport {View, StyleSheet, Text, ViewStyle} 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\ntype StyleSheetType = {\n cards: ViewStyle;\n card: ViewStyle;\n choice: ViewStyle;\n};\n\nconst styleSheet: StyleSheetType = StyleSheet.create({\n cards: {\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n card: {\n flex: 1\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\">\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\">\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"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["styleSheet","StyleSheet","create","cards","flexDirection","alignItems","card","flex","choice","paddingVertical","Switch","props","templateContext","useTemplateContext","analytics","store","focusedSelectId","handleBlur","handleFocus","type","template","isDisabled","choices","min","max","unit","value","step","onSliderChange","onItemPress","onItemInputChange","onInputValueChange","handleChoicePress","useCallback","onPress","handleItemInputChange","_value","handleSlidingComplete","logEvent","ANALYTICS_EVENT_TYPE","SLIDE","id","questionType","map","_id","selected","label","media","undefined","console","warn"],"sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport {View, StyleSheet, Text, ViewStyle} 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\ntype StyleSheetType = {\n cards: ViewStyle;\n card: ViewStyle;\n choice: ViewStyle;\n};\n\nconst styleSheet: StyleSheetType = StyleSheet.create({\n cards: {\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n card: {\n flex: 1\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\">\n {(choices as SelectableChoice[]).map(choice => (\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\">\n {(choices as SelectableChoice[]).map(choice => (\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"],"mappings":"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"}
@@ -87,7 +87,7 @@ const Item = props => {
87
87
  const id = `question-part-${index + 1}`;
88
88
  const isFocused = focusedSelectId === id;
89
89
  const coloredText = brandTheme && {
90
- color: brandTheme.colors.primary
90
+ color: brandTheme.colors?.primary
91
91
  };
92
92
 
93
93
  if (part.type === 'answerField' && inputNames.includes(part.value)) {
@@ -122,13 +122,13 @@ const Item = props => {
122
122
 
123
123
  const selectInputStyle = [styles.selectInput];
124
124
 
125
- if (value) {
125
+ if (coloredText && value) {
126
126
  selectInputStyle.push(coloredText);
127
127
  }
128
128
 
129
129
  const selectTextStyle = [styles.selectText];
130
130
 
131
- if (value) {
131
+ if (coloredText && value) {
132
132
  selectTextStyle.push(coloredText);
133
133
  }
134
134
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["createStyleSheet","theme","container","width","flexDirection","flexWrap","justifyContent","alignItems","spaced","paddingVertical","spacing","tiny","htmlText","color","colors","black","fontWeight","bold","lineHeight","selectInput","padding","borderRadius","radius","regular","minWidth","marginHorizontal","BOX_STYLE","backgroundColor","white","selectText","gray","medium","fontSize","textAlign","Item","props","part","index","isDisabled","focusedSelectId","choices","onInputChange","handleBlur","handleFocus","styles","templateContext","useTemplateContext","brandTheme","translations","inputNames","map","choice","name","id","isFocused","coloredText","primary","type","includes","value","choiceIndex","findIndex","disabledSuffix","selectedSuffix","handleInputChange","_item","_value","selectInputStyle","push","selectTextStyle","items","selectAnAnswer","trim","QuestionTemplate","template","styleSheet","setStylesheet","useState","useEffect","_stylesheet","parts","parseTemplateString"],"sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"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';\nimport {BOX_STYLE} from '../../../../variables/shadow';\n\ntype StyleSheetType = {\n container: ViewStyle;\n spaced: ViewStyle;\n htmlText: TextStyle;\n selectInput: ViewStyle;\n selectText: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType => ({\n container: {\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 htmlText: {\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 25\n },\n // eslint-disable-next-line @coorpacademy/coorpacademy/no-overwriting-spread\n selectInput: {\n padding: theme.spacing.tiny,\n borderRadius: theme.radius.regular,\n minWidth: 175,\n marginHorizontal: 12,\n paddingVertical: 16,\n ...BOX_STYLE,\n backgroundColor: theme.colors.white\n },\n selectText: {\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 ItemProps = {\n part: TemplatePart;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n index: number;\n isDisabled?: boolean;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: StyleSheetType;\n};\n\nconst Item = (props: ItemProps) => {\n const {\n part,\n index,\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 = `question-part-${index + 1}`;\n const isFocused = focusedSelectId === id;\n\n const coloredText = brandTheme && {\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 selectInputStyle: ViewStyle[] = [styles.selectInput];\n if (value) {\n selectInputStyle.push(coloredText);\n }\n\n const selectTextStyle: ViewStyle[] = [styles.selectText];\n if (value) {\n selectTextStyle.push(coloredText);\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={selectTextStyle}\n style={selectInputStyle}\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\n return (\n <View style={styleSheet.container} testID=\"question-template\">\n {parts.map((part, id) => (\n <View key={`question-part-${id}`} style={{flexDirection: 'row'}}>\n <Item\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={styleSheet}\n />\n <Space type=\"micro\" />\n </View>\n ))}\n </View>\n );\n};\n\nexport default QuestionTemplate;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["createStyleSheet","theme","container","width","flexDirection","flexWrap","justifyContent","alignItems","spaced","paddingVertical","spacing","tiny","htmlText","color","colors","black","fontWeight","bold","lineHeight","selectInput","padding","borderRadius","radius","regular","minWidth","marginHorizontal","BOX_STYLE","backgroundColor","white","selectText","gray","medium","fontSize","textAlign","Item","props","part","index","isDisabled","focusedSelectId","choices","onInputChange","handleBlur","handleFocus","styles","templateContext","useTemplateContext","brandTheme","translations","inputNames","map","choice","name","id","isFocused","coloredText","primary","type","includes","value","choiceIndex","findIndex","disabledSuffix","selectedSuffix","handleInputChange","_item","_value","selectInputStyle","push","selectTextStyle","items","selectAnAnswer","trim","QuestionTemplate","template","styleSheet","setStylesheet","useState","useEffect","_stylesheet","parts","parseTemplateString"],"sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"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';\nimport {BOX_STYLE} from '../../../../variables/shadow';\n\ntype StyleSheetType = {\n container: ViewStyle;\n spaced: ViewStyle;\n htmlText: TextStyle;\n selectInput: ViewStyle;\n selectText: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType => ({\n container: {\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 htmlText: {\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 25\n },\n // eslint-disable-next-line @coorpacademy/coorpacademy/no-overwriting-spread\n selectInput: {\n padding: theme.spacing.tiny,\n borderRadius: theme.radius.regular,\n minWidth: 175,\n marginHorizontal: 12,\n paddingVertical: 16,\n ...BOX_STYLE,\n backgroundColor: theme.colors.white\n },\n selectText: {\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 ItemProps = {\n part: TemplatePart;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n index: number;\n isDisabled?: boolean;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: StyleSheetType;\n};\n\nconst Item = (props: ItemProps) => {\n const {\n part,\n index,\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 = `question-part-${index + 1}`;\n const isFocused = focusedSelectId === id;\n\n const coloredText = brandTheme && {\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 =\n (_item: TemplateTextChoice | TemplateListOfChoices) => (_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 selectInputStyle: TextStyle[] = [styles.selectInput];\n if (coloredText && value) {\n selectInputStyle.push(coloredText);\n }\n\n const selectTextStyle: TextStyle[] = [styles.selectText];\n if (coloredText && value) {\n selectTextStyle.push(coloredText);\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={selectTextStyle}\n style={selectInputStyle}\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\n return (\n <View style={styleSheet.container} testID=\"question-template\">\n {parts.map((part, id) => (\n <View key={`question-part-${id}`} style={{flexDirection: 'row'}}>\n <Item\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={styleSheet}\n />\n <Space type=\"micro\" />\n </View>\n ))}\n </View>\n );\n};\n\nexport default QuestionTemplate;\n"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { ChoiceItem } from '../../atom/select-modal/index.native';
2
2
  declare type Url = string;
3
3
  declare type VideoMimeType = 'application/kontiki' | 'application/jwplayer' | 'application/youtube' | 'application/omniPlayer' | 'application/vimeo';
4
- declare type ResourceMimeType = 'video/mp4' | 'image/jpeg' | 'image/png' | 'application/pdf' | VideoMimeType;
4
+ declare type ResourceMimeType = 'video/mp4' | 'audio/acc' | 'image/jpeg' | 'image/png' | 'application/pdf' | VideoMimeType;
5
5
  export declare type Source = {
6
6
  _id?: string;
7
7
  mimeType?: ResourceMimeType;
8
8
  url: Url;
9
9
  videoId?: string;
10
10
  };
11
- export declare type MediaType = 'img' | 'video' | 'pdf';
11
+ export declare type MediaType = 'img' | 'audio' | 'video' | 'pdf';
12
12
  export declare type Media = {
13
13
  type?: MediaType;
14
14
  description?: string;
@@ -19,6 +19,13 @@ export declare type Media = {
19
19
  subtitles?: Array<string>;
20
20
  posters?: Array<Url>;
21
21
  src?: Array<Source>;
22
+ poster?: string;
23
+ videoId?: string;
24
+ onClick?: () => void;
25
+ onPlay?: () => void;
26
+ onPause?: () => void;
27
+ onResume?: () => void;
28
+ onEnded?: () => void;
22
29
  };
23
30
  export declare type QuestionType = 'qcm' | 'qcmGraphic' | 'slider' | 'qcmDrag' | 'basic' | 'template';
24
31
  declare type ChoiceBase = {
@@ -31,7 +38,7 @@ export declare type SelectableChoice = {
31
38
  _id: string;
32
39
  label: string;
33
40
  selected: boolean;
34
- onPress: Function;
41
+ onPress: (value?: string) => void;
35
42
  media?: Media;
36
43
  };
37
44
  export declare type TemplateTextChoice = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/questions/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,sCAAsC,CAAC;AAEhE,aAAK,GAAG,GAAG,MAAM,CAAC;AAElB,aAAK,aAAa,GACd,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,wBAAwB,GACxB,mBAAmB,CAAC;AAExB,aAAK,gBAAgB,GACjB,WAAW,GACX,YAAY,GACZ,WAAW,GACX,iBAAiB,GACjB,aAAa,CAAC;AAElB,oBAAY,MAAM,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;AAEhD,oBAAY,KAAK,GAAG;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACrB,CAAC;AAEF,oBAAY,YAAY,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAE9F,aAAK,UAAU,GAAG;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1B,CAAC;AAEF,oBAAY,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/questions/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,sCAAsC,CAAC;AAEhE,aAAK,GAAG,GAAG,MAAM,CAAC;AAElB,aAAK,aAAa,GACd,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,wBAAwB,GACxB,mBAAmB,CAAC;AAExB,aAAK,gBAAgB,GACjB,WAAW,GACX,WAAW,GACX,YAAY,GACZ,WAAW,GACX,iBAAiB,GACjB,aAAa,CAAC;AAElB,oBAAY,MAAM,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAE1D,oBAAY,KAAK,GAAG;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,oBAAY,YAAY,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAE9F,aAAK,UAAU,GAAG;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1B,CAAC;AAEF,oBAAY,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/molecule/questions/types.ts"],"sourcesContent":["import {ChoiceItem} from '../../atom/select-modal/index.native';\n\ntype Url = string;\n\ntype VideoMimeType =\n | 'application/kontiki'\n | 'application/jwplayer'\n | 'application/youtube'\n | 'application/omniPlayer'\n | 'application/vimeo';\n\ntype ResourceMimeType =\n | 'video/mp4'\n | 'image/jpeg'\n | 'image/png'\n | 'application/pdf'\n | VideoMimeType;\n\nexport type Source = {\n _id?: string;\n mimeType?: ResourceMimeType;\n url: Url;\n videoId?: string;\n};\n\nexport type MediaType = 'img' | 'video' | 'pdf';\n\nexport type Media = {\n type?: MediaType;\n description?: string;\n mimeType?: ResourceMimeType;\n _id?: string;\n mediaUrl?: Url;\n url?: Url;\n subtitles?: Array<string>;\n posters?: Array<Url>;\n src?: Array<Source>;\n};\n\nexport type QuestionType = 'qcm' | 'qcmGraphic' | 'slider' | 'qcmDrag' | 'basic' | 'template';\n\ntype ChoiceBase = {\n _id: string;\n value?: string;\n name?: string;\n label?: string;\n};\n\nexport type SelectableChoice = {\n _id: string;\n label: string;\n selected: boolean;\n onPress: Function;\n media?: Media;\n};\n\nexport type TemplateTextChoice = {\n type: 'text';\n _id: string;\n name: string;\n value: string;\n label: string;\n selected: boolean;\n};\n\nexport type TemplateListOfChoices = {\n type: 'select';\n _id: string;\n name: string;\n value: string;\n label: string;\n items: Array<ChoiceItem>;\n};\n\nexport type Choice = ChoiceBase | SelectableChoice | TemplateListOfChoices | TemplateTextChoice;\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/molecule/questions/types.ts"],"sourcesContent":["import {ChoiceItem} from '../../atom/select-modal/index.native';\n\ntype Url = string;\n\ntype VideoMimeType =\n | 'application/kontiki'\n | 'application/jwplayer'\n | 'application/youtube'\n | 'application/omniPlayer'\n | 'application/vimeo';\n\ntype ResourceMimeType =\n | 'video/mp4'\n | 'audio/acc'\n | 'image/jpeg'\n | 'image/png'\n | 'application/pdf'\n | VideoMimeType;\n\nexport type Source = {\n _id?: string;\n mimeType?: ResourceMimeType;\n url: Url;\n videoId?: string;\n};\n\nexport type MediaType = 'img' | 'audio' | 'video' | 'pdf';\n\nexport type Media = {\n type?: MediaType;\n description?: string;\n mimeType?: ResourceMimeType;\n _id?: string;\n mediaUrl?: Url;\n url?: Url;\n subtitles?: Array<string>;\n posters?: Array<Url>;\n src?: Array<Source>;\n poster?: string;\n videoId?: string;\n onClick?: () => void;\n onPlay?: () => void;\n onPause?: () => void;\n onResume?: () => void;\n onEnded?: () => void;\n};\n\nexport type QuestionType = 'qcm' | 'qcmGraphic' | 'slider' | 'qcmDrag' | 'basic' | 'template';\n\ntype ChoiceBase = {\n _id: string;\n value?: string;\n name?: string;\n label?: string;\n};\n\nexport type SelectableChoice = {\n _id: string;\n label: string;\n selected: boolean;\n onPress: (value?: string) => void;\n media?: Media;\n};\n\nexport type TemplateTextChoice = {\n type: 'text';\n _id: string;\n name: string;\n value: string;\n label: string;\n selected: boolean;\n};\n\nexport type TemplateListOfChoices = {\n type: 'select';\n _id: string;\n name: string;\n value: string;\n label: string;\n items: Array<ChoiceItem>;\n};\n\nexport type Choice = ChoiceBase | SelectableChoice | TemplateListOfChoices | TemplateTextChoice;\n"],"mappings":""}
@@ -34,9 +34,9 @@ declare class JWPlayer extends React.Component<any, any, any> {
34
34
  onSetupError: import("prop-types").Requireable<(...args: any[]) => any>;
35
35
  onWarning: import("prop-types").Requireable<(...args: any[]) => any>;
36
36
  };
37
+ static getDerivedStateFromProps(props: any): any;
37
38
  constructor(props: any, context: any);
38
39
  state: {
39
- fileUrl: string;
40
40
  scriptFailedLoading: boolean;
41
41
  };
42
42
  handlePlay(e: any): void;
@@ -49,9 +49,7 @@ declare class JWPlayer extends React.Component<any, any, any> {
49
49
  handlePlayAttemptFailed(error: any): void;
50
50
  handleAutostartNotAllowed(error: any): void;
51
51
  handleWarning(error: any): void;
52
- componentDidMount(): void;
53
52
  componentDidUpdate(prevProps: any): void;
54
- setFileUrl(): void;
55
53
  render(): JSX.Element;
56
54
  }
57
55
  import React from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"jwplayer.d.ts","sourceRoot":"","sources":["../../../src/molecule/video-player/jwplayer.js"],"names":[],"mappings":";AAMA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAqC;IAErC,sCAiBC;IAfC;;;MAGC;IA6CH,yBAGC;IAED,2BAGC;IAED,0BAGC;IAED,0BAGC;IA6BD,8BAyBC;IA7CD,mCAGC;IAVD,qCAKC;IAOD,0CAGC;IAED,4CAGC;IAED,gCAGC;IA5ED,0BAIC;IAED,yCAgBC;IAED,mBAKC;IA4ED,sBA+BC;CACF"}
1
+ {"version":3,"file":"jwplayer.d.ts","sourceRoot":"","sources":["../../../src/molecule/video-player/jwplayer.js"],"names":[],"mappings":";AAoBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAqC;IAqBrC,iDAEC;IArBD,sCAiBC;IAdC;;MAEC;IAgCH,yBAGC;IAED,2BAGC;IAED,0BAGC;IAED,0BAGC;IA6BD,8BAyBC;IA7CD,mCAGC;IAVD,qCAKC;IAOD,0CAGC;IAED,4CAGC;IAED,gCAGC;IA3DD,yCAYC;IA4ED,sBAoCC;CACF"}
@@ -13,7 +13,7 @@ var _get2 = _interopRequireDefault(require("lodash/fp/get"));
13
13
 
14
14
  var _react = _interopRequireDefault(require("react"));
15
15
 
16
- var _reactJwPlayer = _interopRequireDefault(require("react-jw-player"));
16
+ var _jwplayerReact = _interopRequireDefault(require("@jwplayer/jwplayer-react"));
17
17
 
18
18
  var _jwplayer = _interopRequireDefault(require("./jwplayer.css"));
19
19
 
@@ -23,11 +23,26 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
23
23
 
24
24
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
25
 
26
+ const fileAndTracks = ({
27
+ file,
28
+ customProps,
29
+ playlist
30
+ } = {}) => {
31
+ if (file) return {
32
+ file,
33
+ tracks: customProps ? customProps.tracks : null
34
+ };
35
+ if (playlist && playlist[0]) return playlist[0];
36
+ return {
37
+ file: null,
38
+ tracks: null
39
+ };
40
+ };
41
+
26
42
  class JWPlayer extends _react.default.Component {
27
43
  constructor(props, context) {
28
44
  super(props, context);
29
45
  this.state = {
30
- fileUrl: '',
31
46
  scriptFailedLoading: false
32
47
  };
33
48
  this.handlePlay = this.handlePlay.bind(this);
@@ -42,12 +57,8 @@ class JWPlayer extends _react.default.Component {
42
57
  this.handleWarning = this.handleWarning.bind(this);
43
58
  }
44
59
 
45
- componentDidMount() {
46
- const jwPlayerScript = document.getElementById('jw-player-script');
47
-
48
- jwPlayerScript.onerror = () => this.handleScriptError(jwPlayerScript);
49
-
50
- this.setFileUrl();
60
+ static getDerivedStateFromProps(props) {
61
+ return fileAndTracks(props.jwpOptions);
51
62
  }
52
63
 
53
64
  componentDidUpdate(prevProps) {
@@ -67,26 +78,6 @@ class JWPlayer extends _react.default.Component {
67
78
  window.jwplayer(prevProps.jwpOptions.playerId).play();
68
79
  }
69
80
  }
70
-
71
- const {
72
- jwpOptions
73
- } = this.props;
74
-
75
- if (prevProps.jwpOptions.file !== jwpOptions.file) {
76
- this.setFileUrl();
77
- }
78
- }
79
-
80
- setFileUrl() {
81
- const {
82
- jwpOptions
83
- } = this.props;
84
- const {
85
- file
86
- } = jwpOptions;
87
- return this.setState({
88
- fileUrl: file
89
- });
90
81
  }
91
82
 
92
83
  handlePlay(e) {
@@ -183,7 +174,7 @@ class JWPlayer extends _react.default.Component {
183
174
  if (matched) {
184
175
  const videoId = matched[1];
185
176
  return this.setState({
186
- fileUrl: `https://content.jwplatform.com/videos/${videoId}-1080.mp4`
177
+ file: `https://content.jwplatform.com/videos/${videoId}-1080.mp4`
187
178
  });
188
179
  }
189
180
  }
@@ -197,19 +188,27 @@ class JWPlayer extends _react.default.Component {
197
188
  } = this.props;
198
189
  const {
199
190
  scriptFailedLoading,
200
- fileUrl
191
+ file,
192
+ tracks
201
193
  } = this.state;
202
194
 
203
195
  const _jwpOptions = _extends({}, jwpOptions, {
204
196
  customProps: _extends({}, (0, _get2.default)('customProps', jwpOptions), {
197
+ key: jwpOptions.licenseKey,
205
198
  autostart: !disableAutostart && (0, _get2.default)('customProps.autostart', jwpOptions)
206
199
  })
207
200
  });
208
201
 
209
202
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, scriptFailedLoading ? /*#__PURE__*/_react.default.createElement("p", {
210
203
  className: _jwplayer.default.errorMessage
211
- }, scriptErrorMessage, " ") : null, /*#__PURE__*/_react.default.createElement(_reactJwPlayer.default, _extends({}, _jwpOptions, {
204
+ }, scriptErrorMessage, " ") : null, /*#__PURE__*/_react.default.createElement(_jwplayerReact.default, {
205
+ key: file,
212
206
  className: _jwplayer.default.wrapper,
207
+ id: _jwpOptions.playerId,
208
+ file: file,
209
+ tracks: tracks,
210
+ library: _jwpOptions.playerScript,
211
+ config: _jwpOptions.customProps,
213
212
  onAutoStart: this.handlePlay,
214
213
  onPlay: this.handlePlay,
215
214
  onResume: this.handleResume,
@@ -219,9 +218,8 @@ class JWPlayer extends _react.default.Component {
219
218
  onSetupError: this.handleSetupError,
220
219
  onPlayAttemptFailed: this.handlePlayAttemptFailed,
221
220
  onWarning: this.handleWarning,
222
- onAutostartNotAllowed: this.handleAutostartNotAllowed,
223
- file: fileUrl
224
- })));
221
+ onAutostartNotAllowed: this.handleAutostartNotAllowed
222
+ }));
225
223
  }
226
224
 
227
225
  }