@coorpacademy/components 10.22.1 → 10.22.2

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 (83) hide show
  1. package/es/atom/spinner/index.js +1 -0
  2. package/es/atom/spinner/index.js.map +1 -1
  3. package/es/hoc/touchable/index.native.js +61 -0
  4. package/es/hoc/touchable/index.native.js.map +1 -0
  5. package/es/molecule/dashboard/battle-request-list/index.js +3 -5
  6. package/es/molecule/dashboard/battle-request-list/index.js.map +1 -1
  7. package/es/molecule/dashboard/news-list/index.js +3 -5
  8. package/es/molecule/dashboard/news-list/index.js.map +1 -1
  9. package/es/molecule/dashboard/review-banner/index.js +3 -5
  10. package/es/molecule/dashboard/review-banner/index.js.map +1 -1
  11. package/es/molecule/dashboard/start-battle/index.js +3 -5
  12. package/es/molecule/dashboard/start-battle/index.js.map +1 -1
  13. package/es/molecule/external-content-viewer/index.js +2 -1
  14. package/es/molecule/external-content-viewer/index.js.map +1 -1
  15. package/es/molecule/questions/free-text/index.native.js +4 -4
  16. package/es/molecule/questions/free-text/index.native.js.map +1 -1
  17. package/es/molecule/questions/qcm/index.native.js +6 -3
  18. package/es/molecule/questions/qcm/index.native.js.map +1 -1
  19. package/es/molecule/skill-card/prop-types.js +1 -1
  20. package/es/molecule/skill-card/prop-types.js.map +1 -1
  21. package/es/template/app-player/loading/index.js +1 -0
  22. package/es/template/app-player/loading/index.js.map +1 -1
  23. package/es/template/app-review/demo-ts/index.js +2 -0
  24. package/es/template/app-review/demo-ts/index.js.map +1 -1
  25. package/es/template/app-review/demo-ts/index.native.js +9 -0
  26. package/es/template/app-review/demo-ts/index.native.js.map +1 -0
  27. package/es/template/app-review/demo-ts/typings.js +7 -0
  28. package/es/template/app-review/demo-ts/typings.js.map +1 -0
  29. package/es/template/app-review/index.js +4 -0
  30. package/es/template/app-review/index.js.map +1 -1
  31. package/es/template/app-review/index.native.js +3 -13
  32. package/es/template/app-review/index.native.js.map +1 -1
  33. package/es/template/app-review/slides/index.native.js +17 -14
  34. package/es/template/app-review/slides/index.native.js.map +1 -1
  35. package/es/template/app-review/template-context.js +6 -3
  36. package/es/template/app-review/template-context.js.map +1 -1
  37. package/es/variables/analytics.js.map +1 -1
  38. package/es/variables/theme.native.js +65 -0
  39. package/es/variables/theme.native.js.map +1 -0
  40. package/es/variables/vibration.js +10 -0
  41. package/es/variables/vibration.js.map +1 -0
  42. package/lib/atom/spinner/index.js +1 -0
  43. package/lib/atom/spinner/index.js.map +1 -1
  44. package/lib/hoc/touchable/index.native.js +74 -0
  45. package/lib/hoc/touchable/index.native.js.map +1 -0
  46. package/lib/molecule/dashboard/battle-request-list/index.js +3 -5
  47. package/lib/molecule/dashboard/battle-request-list/index.js.map +1 -1
  48. package/lib/molecule/dashboard/news-list/index.js +3 -5
  49. package/lib/molecule/dashboard/news-list/index.js.map +1 -1
  50. package/lib/molecule/dashboard/review-banner/index.js +3 -5
  51. package/lib/molecule/dashboard/review-banner/index.js.map +1 -1
  52. package/lib/molecule/dashboard/start-battle/index.js +3 -5
  53. package/lib/molecule/dashboard/start-battle/index.js.map +1 -1
  54. package/lib/molecule/external-content-viewer/index.js +2 -1
  55. package/lib/molecule/external-content-viewer/index.js.map +1 -1
  56. package/lib/molecule/questions/free-text/index.native.js +4 -4
  57. package/lib/molecule/questions/free-text/index.native.js.map +1 -1
  58. package/lib/molecule/questions/qcm/index.native.js +7 -3
  59. package/lib/molecule/questions/qcm/index.native.js.map +1 -1
  60. package/lib/molecule/skill-card/prop-types.js +1 -1
  61. package/lib/molecule/skill-card/prop-types.js.map +1 -1
  62. package/lib/template/app-player/loading/index.js +1 -0
  63. package/lib/template/app-player/loading/index.js.map +1 -1
  64. package/lib/template/app-review/demo-ts/index.js +3 -0
  65. package/lib/template/app-review/demo-ts/index.js.map +1 -1
  66. package/lib/template/app-review/demo-ts/index.native.js +18 -0
  67. package/lib/template/app-review/demo-ts/index.native.js.map +1 -0
  68. package/lib/template/app-review/demo-ts/typings.js +16 -0
  69. package/lib/template/app-review/demo-ts/typings.js.map +1 -0
  70. package/lib/template/app-review/index.js +5 -0
  71. package/lib/template/app-review/index.js.map +1 -1
  72. package/lib/template/app-review/index.native.js +2 -12
  73. package/lib/template/app-review/index.native.js.map +1 -1
  74. package/lib/template/app-review/slides/index.native.js +17 -14
  75. package/lib/template/app-review/slides/index.native.js.map +1 -1
  76. package/lib/template/app-review/template-context.js +7 -1
  77. package/lib/template/app-review/template-context.js.map +1 -1
  78. package/lib/variables/analytics.js.map +1 -1
  79. package/lib/variables/theme.native.js +70 -0
  80. package/lib/variables/theme.native.js.map +1 -0
  81. package/lib/variables/vibration.js +15 -0
  82. package/lib/variables/vibration.js.map +1 -0
  83. package/package.json +6 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/external-content-viewer/index.js"],"names":["podcastWrapperStyle","default","style","podcastWrapper","cockpit","podcastWrapperCockpit","iframeStyle","iframe","iframeCockpit","mobile","ExternalContentViewer","props","url","backgroundImageUrl","contentType","mode","isPdf","googleViewer","bgPodcast","backgroundImage","podcast","propTypes","PropTypes","string","isRequired"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,mBAAmB,GAAG;AAC1BC,EAAAA,OAAO,EAAEC,eAAMC,cADW;AAE1BC,EAAAA,OAAO,EAAEF,eAAMG;AAFW,CAA5B;AAKA,MAAMC,WAAW,GAAG;AAClBL,EAAAA,OAAO,EAAEC,eAAMK,MADG;AAElBH,EAAAA,OAAO,EAAEF,eAAMM,aAFG;AAGlBC,EAAAA,MAAM,EAAEP,eAAMK;AAHI,CAApB;;AAMA,SAASG,qBAAT,CAA+BC,KAA/B,EAAsC;AACpC,QAAM;AAACC,IAAAA,GAAD;AAAMC,IAAAA,kBAAN;AAA0BC,IAAAA,WAA1B;AAAuCC,IAAAA,IAAI,GAAG;AAA9C,MAA2DJ,KAAjE;AACA,QAAMK,KAAK,GAAG,uBAAS,MAAT,EAAiBJ,GAAjB,CAAd;AACA,QAAMK,YAAY,GAAI,6DAA4DL,GAAI,EAAtF;AAEA,SAAO,yBAAW,OAAX,EAAoBE,WAApB,iBACL;AAAK,IAAA,SAAS,EAAEd,mBAAmB,CAACe,IAAD;AAAnC,kBACE;AACE,IAAA,SAAS,EAAEb,eAAMgB,SADnB;AAEE,IAAA,KAAK,EAAE;AAACC,MAAAA,eAAe,EAAEN,kBAAkB,IAAK,OAAMA,kBAAmB;AAAlE;AAFT,IADF,eAKE;AACE,IAAA,SAAS,EAAEX,eAAMkB,OADnB;AAEE,IAAA,QAAQ,MAFV;AAGE,IAAA,YAAY,EAAC,YAHf;AAIE,IAAA,QAAQ,EAAC,EAJX;AAKE,IAAA,IAAI,EAAC,OALP;AAME,iBAAU,0BANZ;AAOE,IAAA,OAAO,EAAC;AAPV,kBASE;AAAQ,IAAA,GAAG,EAAER,GAAb;AAAkB,IAAA,IAAI,EAAEE;AAAxB,IATF,CALF,CADK,gBAmBL;AACE,IAAA,GAAG,EAAEE,KAAK,IAAID,IAAI,KAAK,QAAlB,GAA6BE,YAA7B,GAA4CL,GADnD;AAEE,IAAA,WAAW,EAAE,CAFf;AAGE,IAAA,SAAS,EAAEN,WAAW,CAACS,IAAD,CAHxB;AAIE,IAAA,eAAe,MAJjB;AAKE,iBAAU;AALZ,IAnBF;AA2BD;;AAEDL,qBAAqB,CAACW,SAAtB,2CAAkC;AAChCT,EAAAA,GAAG,EAAEU,mBAAUC,MAAV,CAAiBC,UADU;AAEhCX,EAAAA,kBAAkB,EAAES,mBAAUC,MAFE;AAGhCT,EAAAA,WAAW,EAAEQ,mBAAUC,MAHS;AAIhCR,EAAAA,IAAI,EAAEO,mBAAUC;AAJgB,CAAlC;eAOeb,qB","sourcesContent":["import React from 'react';\nimport startsWith from 'lodash/fp/startsWith';\nimport includes from 'lodash/fp/includes';\nimport PropTypes from 'prop-types';\nimport style from './style.css';\n\nconst podcastWrapperStyle = {\n default: style.podcastWrapper,\n cockpit: style.podcastWrapperCockpit\n};\n\nconst iframeStyle = {\n default: style.iframe,\n cockpit: style.iframeCockpit,\n mobile: style.iframe\n};\n\nfunction ExternalContentViewer(props) {\n const {url, backgroundImageUrl, contentType, mode = 'default'} = props;\n const isPdf = includes('.pdf', url);\n const googleViewer = `https://docs.google.com/viewerng/viewer?embedded=true&url=${url}`;\n\n return startsWith('audio', contentType) ? (\n <div className={podcastWrapperStyle[mode]}>\n <div\n className={style.bgPodcast}\n style={{backgroundImage: backgroundImageUrl && `url(${backgroundImageUrl})`}}\n />\n <audio\n className={style.podcast}\n controls\n controlsList=\"nodownload\"\n autoPlay=\"\"\n name=\"media\"\n data-name=\"external-content-podcast\"\n preload=\"auto\"\n >\n <source src={url} type={contentType} />\n </audio>\n </div>\n ) : (\n <iframe\n src={isPdf && mode === 'mobile' ? googleViewer : url}\n frameBorder={0}\n className={iframeStyle[mode]}\n allowFullScreen\n data-name=\"external-content-iframe\"\n />\n );\n}\n\nExternalContentViewer.propTypes = {\n url: PropTypes.string.isRequired,\n backgroundImageUrl: PropTypes.string,\n contentType: PropTypes.string,\n mode: PropTypes.string\n};\n\nexport default ExternalContentViewer;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/external-content-viewer/index.js"],"names":["podcastWrapperStyle","default","style","podcastWrapper","cockpit","podcastWrapperCockpit","mobile","iframeStyle","iframe","iframeCockpit","ExternalContentViewer","props","url","backgroundImageUrl","contentType","mode","isPdf","googleViewer","bgPodcast","backgroundImage","podcast","propTypes","PropTypes","string","isRequired"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,mBAAmB,GAAG;AAC1BC,EAAAA,OAAO,EAAEC,eAAMC,cADW;AAE1BC,EAAAA,OAAO,EAAEF,eAAMG,qBAFW;AAG1BC,EAAAA,MAAM,EAAEJ,eAAMC;AAHY,CAA5B;AAMA,MAAMI,WAAW,GAAG;AAClBN,EAAAA,OAAO,EAAEC,eAAMM,MADG;AAElBJ,EAAAA,OAAO,EAAEF,eAAMO,aAFG;AAGlBH,EAAAA,MAAM,EAAEJ,eAAMM;AAHI,CAApB;;AAMA,SAASE,qBAAT,CAA+BC,KAA/B,EAAsC;AACpC,QAAM;AAACC,IAAAA,GAAD;AAAMC,IAAAA,kBAAN;AAA0BC,IAAAA,WAA1B;AAAuCC,IAAAA,IAAI,GAAG;AAA9C,MAA2DJ,KAAjE;AACA,QAAMK,KAAK,GAAG,uBAAS,MAAT,EAAiBJ,GAAjB,CAAd;AACA,QAAMK,YAAY,GAAI,6DAA4DL,GAAI,EAAtF;AAEA,SAAO,yBAAW,OAAX,EAAoBE,WAApB,iBACL;AAAK,IAAA,SAAS,EAAEd,mBAAmB,CAACe,IAAD;AAAnC,kBACE;AACE,IAAA,SAAS,EAAEb,eAAMgB,SADnB;AAEE,IAAA,KAAK,EAAE;AAACC,MAAAA,eAAe,EAAEN,kBAAkB,IAAK,OAAMA,kBAAmB;AAAlE;AAFT,IADF,eAKE;AACE,IAAA,SAAS,EAAEX,eAAMkB,OADnB;AAEE,IAAA,QAAQ,MAFV;AAGE,IAAA,YAAY,EAAC,YAHf;AAIE,IAAA,QAAQ,EAAC,EAJX;AAKE,IAAA,IAAI,EAAC,OALP;AAME,iBAAU,0BANZ;AAOE,IAAA,OAAO,EAAC;AAPV,kBASE;AAAQ,IAAA,GAAG,EAAER,GAAb;AAAkB,IAAA,IAAI,EAAEE;AAAxB,IATF,CALF,CADK,gBAmBL;AACE,IAAA,GAAG,EAAEE,KAAK,IAAID,IAAI,KAAK,QAAlB,GAA6BE,YAA7B,GAA4CL,GADnD;AAEE,IAAA,WAAW,EAAE,CAFf;AAGE,IAAA,SAAS,EAAEL,WAAW,CAACQ,IAAD,CAHxB;AAIE,IAAA,eAAe,MAJjB;AAKE,iBAAU;AALZ,IAnBF;AA2BD;;AAEDL,qBAAqB,CAACW,SAAtB,2CAAkC;AAChCT,EAAAA,GAAG,EAAEU,mBAAUC,MAAV,CAAiBC,UADU;AAEhCX,EAAAA,kBAAkB,EAAES,mBAAUC,MAFE;AAGhCT,EAAAA,WAAW,EAAEQ,mBAAUC,MAHS;AAIhCR,EAAAA,IAAI,EAAEO,mBAAUC;AAJgB,CAAlC;eAOeb,qB","sourcesContent":["import React from 'react';\nimport startsWith from 'lodash/fp/startsWith';\nimport includes from 'lodash/fp/includes';\nimport PropTypes from 'prop-types';\nimport style from './style.css';\n\nconst podcastWrapperStyle = {\n default: style.podcastWrapper,\n cockpit: style.podcastWrapperCockpit,\n mobile: style.podcastWrapper\n};\n\nconst iframeStyle = {\n default: style.iframe,\n cockpit: style.iframeCockpit,\n mobile: style.iframe\n};\n\nfunction ExternalContentViewer(props) {\n const {url, backgroundImageUrl, contentType, mode = 'default'} = props;\n const isPdf = includes('.pdf', url);\n const googleViewer = `https://docs.google.com/viewerng/viewer?embedded=true&url=${url}`;\n\n return startsWith('audio', contentType) ? (\n <div className={podcastWrapperStyle[mode]}>\n <div\n className={style.bgPodcast}\n style={{backgroundImage: backgroundImageUrl && `url(${backgroundImageUrl})`}}\n />\n <audio\n className={style.podcast}\n controls\n controlsList=\"nodownload\"\n autoPlay=\"\"\n name=\"media\"\n data-name=\"external-content-podcast\"\n preload=\"auto\"\n >\n <source src={url} type={contentType} />\n </audio>\n </div>\n ) : (\n <iframe\n src={isPdf && mode === 'mobile' ? googleViewer : url}\n frameBorder={0}\n className={iframeStyle[mode]}\n allowFullScreen\n data-name=\"external-content-iframe\"\n />\n );\n}\n\nExternalContentViewer.propTypes = {\n url: PropTypes.string.isRequired,\n backgroundImageUrl: PropTypes.string,\n contentType: PropTypes.string,\n mode: PropTypes.string\n};\n\nexport default ExternalContentViewer;\n"],"file":"index.js"}
@@ -51,8 +51,7 @@ const FreeText = props => {
51
51
  const [styleSheet, setStylesheet] = (0, _react.useState)(null);
52
52
  const {
53
53
  brandTheme,
54
- theme,
55
- translations
54
+ theme
56
55
  } = templateContext;
57
56
  const PLACEHOLDER_COLOR = theme.colors.gray.medium; // ------------------------------------
58
57
 
@@ -63,7 +62,8 @@ const FreeText = props => {
63
62
  testID,
64
63
  onChange,
65
64
  isDisabled,
66
- value
65
+ value,
66
+ placeholder
67
67
  } = props; // ------------------------------------
68
68
 
69
69
  const handleFocus = (0, _react.useMemo)(() => analytics && logEvent(_analytics.ANALYTICS_EVENT_TYPE.INPUT_FOCUS, analytics, questionType), [analytics, questionType]);
@@ -87,7 +87,7 @@ const FreeText = props => {
87
87
  onFocus: handleFocus,
88
88
  onBlur: handleBlur,
89
89
  onChangeText: onChange,
90
- placeholder: translations.typeHere,
90
+ placeholder: placeholder,
91
91
  placeholderTextColor: PLACEHOLDER_COLOR,
92
92
  value: value,
93
93
  testID: testID,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/free-text/index.native.tsx"],"names":["createStyleSheet","brandTheme","theme","StyleSheet","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","testID","onChange","isDisabled","value","handleFocus","ANALYTICS_EVENT_TYPE","INPUT_FOCUS","handleBlur","INPUT_BLUR","_stylesheet","typeHere"],"mappings":"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","sourcesContent":["import {View, StyleSheet, TextInput} from 'react-native';\nimport React, {useState, useEffect, useMemo} from 'react';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../../variables/analytics';\n\ntype QuestionType = 'basic' | 'template';\n\ninterface Props {\n children: string;\n fullWitdh: boolean;\n testID: string;\n questionType: QuestionType;\n analytics?: Analytics;\n onChange: Function;\n isDisabled: boolean;\n value: string;\n}\n\ntype StyleSheetType = {\n input: {\n padding: string;\n borderWidth: number;\n borderColor: string;\n borderRadius: number;\n backgroundColor: string;\n minWidth: number;\n };\n text: {\n color: string;\n fontWeight: number;\n fontSize: number;\n textAlign: string;\n };\n spaced: {\n paddingVertical: number;\n };\n fullWitdh: {\n width: string;\n };\n};\n\nconst createStyleSheet = (brandTheme, 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 {analytics, questionType, fullWitdh, testID, onChange, isDisabled, value} = props;\n\n // ------------------------------------\n\n const handleFocus = useMemo(\n () => analytics && logEvent(ANALYTICS_EVENT_TYPE.INPUT_FOCUS, analytics, questionType),\n [analytics, questionType]\n );\n\n const handleBlur = useMemo(\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, fullWitdh && styleSheet.fullWitdh]} testID={testID}>\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":["createStyleSheet","brandTheme","theme","StyleSheet","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","PLACEHOLDER_COLOR","testID","onChange","isDisabled","value","placeholder","handleFocus","ANALYTICS_EVENT_TYPE","INPUT_FOCUS","handleBlur","INPUT_BLUR","_stylesheet"],"mappings":"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","sourcesContent":["import {View, StyleSheet, TextInput} from 'react-native';\nimport React, {useState, useEffect, useMemo} from 'react';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../../variables/analytics';\n\ntype QuestionType = 'basic' | 'template';\n\ninterface Props {\n children: string;\n fullWitdh: boolean;\n testID: string;\n questionType: QuestionType;\n analytics?: Analytics;\n onChange: Function;\n isDisabled: boolean;\n value: string;\n placeholder: string;\n}\n\ntype StyleSheetType = {\n input: {\n padding: string;\n borderWidth: number;\n borderColor: string;\n borderRadius: number;\n backgroundColor: string;\n minWidth: number;\n };\n text: {\n color: string;\n fontWeight: number;\n fontSize: number;\n textAlign: string;\n };\n spaced: {\n paddingVertical: number;\n };\n fullWitdh: {\n width: string;\n };\n};\n\nconst createStyleSheet = (brandTheme, 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} = templateContext;\n const PLACEHOLDER_COLOR = theme.colors.gray.medium;\n\n // ------------------------------------\n\n const {\n analytics,\n questionType,\n fullWitdh,\n testID,\n onChange,\n isDisabled,\n value,\n placeholder\n } = props;\n\n // ------------------------------------\n\n const handleFocus = useMemo(\n () => analytics && logEvent(ANALYTICS_EVENT_TYPE.INPUT_FOCUS, analytics, questionType),\n [analytics, questionType]\n );\n\n const handleBlur = useMemo(\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, fullWitdh && styleSheet.fullWitdh]} testID={testID}>\n <TextInput\n style={[styleSheet.input, styleSheet.text]}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChangeText={onChange}\n placeholder={placeholder}\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"}
@@ -7,6 +7,8 @@ var _reactNative = require("react-native");
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
+ var _templateContext = require("../../../template/app-review/template-context");
11
+
10
12
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
11
13
 
12
14
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -34,12 +36,14 @@ const createStyleSheet = theme => _reactNative.StyleSheet.create({
34
36
  const QuestionChoiceComponent = ({
35
37
  children,
36
38
  isSelected = false,
37
- testID: prefixTestID,
38
- style,
39
- theme
39
+ testID: prefixTestID
40
40
  }) => {
41
41
  const selectedSuffix = prefixTestID && isSelected ? '-selected' : '';
42
42
  const [styleSheet, setStylesheet] = (0, _react.useState)(null);
43
+ const templateContext = (0, _templateContext.useTemplateContext)();
44
+ const {
45
+ theme
46
+ } = templateContext;
43
47
  (0, _react.useEffect)(() => {
44
48
  const _stylesheet = createStyleSheet(theme);
45
49
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/qcm/index.native.tsx"],"names":["createStyleSheet","theme","StyleSheet","create","boxShadow","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","container","backgroundColor","colors","white","borderRadius","radius","regular","overflow","flexDirection","alignItems","QuestionChoiceComponent","children","isSelected","testID","prefixTestID","style","selectedSuffix","styleSheet","setStylesheet","_stylesheet"],"mappings":";;;;;AAAA;;AACA;;;;;;AAmCA,MAAMA,gBAAgB,GAAIC,KAAD,IACvBC,wBAAWC,MAAX,CAAkB;AAChBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,WAAW,EAAE,MADJ;AAETC,IAAAA,YAAY,EAAE;AAACC,MAAAA,KAAK,EAAE,CAAR;AAAWC,MAAAA,MAAM,EAAE;AAAnB,KAFL;AAGTC,IAAAA,aAAa,EAAE,IAHN;AAITC,IAAAA,YAAY,EAAE,EAJL;AAKTC,IAAAA,SAAS,EAAE;AALF,GADK;AAQhBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,eAAe,EAAEZ,KAAK,CAACa,MAAN,CAAaC,KADrB;AAETC,IAAAA,YAAY,EAAEf,KAAK,CAACgB,MAAN,CAAaC,OAFlB;AAGTC,IAAAA,QAAQ,EAAE,QAHD;AAITC,IAAAA,aAAa,EAAE,KAJN;AAKTC,IAAAA,UAAU,EAAE;AALH;AARK,CAAlB,CADF;;AAkBA,MAAMC,uBAAuB,GAAG,CAAC;AAC/BC,EAAAA,QAD+B;AAE/BC,EAAAA,UAAU,GAAG,KAFkB;AAG/BC,EAAAA,MAAM,EAAEC,YAHuB;AAI/BC,EAAAA,KAJ+B;AAK/B1B,EAAAA;AAL+B,CAAD,KAMnB;AACX,QAAM2B,cAAc,GAAGF,YAAY,IAAIF,UAAhB,GAA6B,WAA7B,GAA2C,EAAlE;AAEA,QAAM,CAACK,UAAD,EAAaC,aAAb,IAA8B,qBAA2B,IAA3B,CAApC;AAEA,wBAAU,MAAM;AACd,UAAMC,WAAW,GAAG/B,gBAAgB,CAACC,KAAD,CAApC;;AACA6B,IAAAA,aAAa,CAACC,WAAD,CAAb;AACD,GAHD,EAGG,CAAC9B,KAAD,CAHH;AAKA,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAAC4B,UAAU,IAAIA,UAAU,CAACzB,SAA1B;AAAb,kBACE,6BAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CAACyB,UAAU,IAAIA,UAAU,CAACjB,SAA1B,CADT;AAEE,IAAA,MAAM,EAAEc,YAAY,IAAK,GAAEA,YAAa,GAAEE,cAAe;AAF3D,KAIGL,QAJH,CADF,CADF;AAUD,CA1BD;;eA4BeD,uB","sourcesContent":["import {View, StyleSheet, ViewStyle} from 'react-native';\nimport React, {useState, useEffect} from 'react';\n\ninterface Props {\n isSelected?: boolean;\n children: string;\n testID?: string;\n style?: ViewStyle;\n theme?: any;\n}\n\ntype StyleType = {\n boxShadow: {\n shadowColor: string;\n shadowOffset: {\n width: number;\n height: number;\n };\n shadowOpacity: number;\n shadowRadius: number;\n elevation: number;\n };\n container: {\n backgroundColor: string;\n borderRadius: number;\n shadowColor: string;\n shadowOffset: {width: number; height: number};\n shadowOpacity: number;\n shadowRadius: number;\n elevation: number;\n overflow: string;\n flexDirection: string;\n alignItems: string;\n };\n};\n\nconst createStyleSheet = (theme: any) =>\n StyleSheet.create({\n boxShadow: {\n shadowColor: '#000',\n shadowOffset: {width: 0, height: 4},\n shadowOpacity: 0.12,\n shadowRadius: 16,\n elevation: 6\n },\n container: {\n backgroundColor: theme.colors.white,\n borderRadius: theme.radius.regular,\n overflow: 'hidden',\n flexDirection: 'row',\n alignItems: 'stretch'\n }\n });\n\nconst QuestionChoiceComponent = ({\n children,\n isSelected = false,\n testID: prefixTestID,\n style,\n theme\n}: Props) => {\n const selectedSuffix = prefixTestID && isSelected ? '-selected' : '';\n\n const [styleSheet, setStylesheet] = useState<StyleType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n return (\n <View style={[styleSheet && styleSheet.boxShadow]}>\n <View\n style={[styleSheet && styleSheet.container]}\n testID={prefixTestID && `${prefixTestID}${selectedSuffix}`}\n >\n {children}\n </View>\n </View>\n );\n};\n\nexport default QuestionChoiceComponent;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/questions/qcm/index.native.tsx"],"names":["createStyleSheet","theme","StyleSheet","create","boxShadow","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","container","backgroundColor","colors","white","borderRadius","radius","regular","overflow","flexDirection","alignItems","QuestionChoiceComponent","children","isSelected","testID","prefixTestID","selectedSuffix","styleSheet","setStylesheet","templateContext","_stylesheet"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;;;AAmCA,MAAMA,gBAAgB,GAAIC,KAAD,IACvBC,wBAAWC,MAAX,CAAkB;AAChBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,WAAW,EAAE,MADJ;AAETC,IAAAA,YAAY,EAAE;AAACC,MAAAA,KAAK,EAAE,CAAR;AAAWC,MAAAA,MAAM,EAAE;AAAnB,KAFL;AAGTC,IAAAA,aAAa,EAAE,IAHN;AAITC,IAAAA,YAAY,EAAE,EAJL;AAKTC,IAAAA,SAAS,EAAE;AALF,GADK;AAQhBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,eAAe,EAAEZ,KAAK,CAACa,MAAN,CAAaC,KADrB;AAETC,IAAAA,YAAY,EAAEf,KAAK,CAACgB,MAAN,CAAaC,OAFlB;AAGTC,IAAAA,QAAQ,EAAE,QAHD;AAITC,IAAAA,aAAa,EAAE,KAJN;AAKTC,IAAAA,UAAU,EAAE;AALH;AARK,CAAlB,CADF;;AAkBA,MAAMC,uBAAuB,GAAG,CAAC;AAACC,EAAAA,QAAD;AAAWC,EAAAA,UAAU,GAAG,KAAxB;AAA+BC,EAAAA,MAAM,EAAEC;AAAvC,CAAD,KAAiE;AAC/F,QAAMC,cAAc,GAAGD,YAAY,IAAIF,UAAhB,GAA6B,WAA7B,GAA2C,EAAlE;AAEA,QAAM,CAACI,UAAD,EAAaC,aAAb,IAA8B,qBAA2B,IAA3B,CAApC;AAEA,QAAMC,eAAe,GAAG,0CAAxB;AACA,QAAM;AAAC7B,IAAAA;AAAD,MAAU6B,eAAhB;AAEA,wBAAU,MAAM;AACd,UAAMC,WAAW,GAAG/B,gBAAgB,CAACC,KAAD,CAApC;;AACA4B,IAAAA,aAAa,CAACE,WAAD,CAAb;AACD,GAHD,EAGG,CAAC9B,KAAD,CAHH;AAKA,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAAC2B,UAAU,IAAIA,UAAU,CAACxB,SAA1B;AAAb,kBACE,6BAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CAACwB,UAAU,IAAIA,UAAU,CAAChB,SAA1B,CADT;AAEE,IAAA,MAAM,EAAEc,YAAY,IAAK,GAAEA,YAAa,GAAEC,cAAe;AAF3D,KAIGJ,QAJH,CADF,CADF;AAUD,CAvBD;;eAyBeD,uB","sourcesContent":["import {View, StyleSheet, ViewStyle} from 'react-native';\nimport React, {useState, useEffect} from 'react';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\n\ninterface Props {\n isSelected?: boolean;\n children: string;\n testID?: string;\n style?: ViewStyle;\n theme?: any;\n}\n\ntype StyleType = {\n boxShadow: {\n shadowColor: string;\n shadowOffset: {\n width: number;\n height: number;\n };\n shadowOpacity: number;\n shadowRadius: number;\n elevation: number;\n };\n container: {\n backgroundColor: string;\n borderRadius: number;\n shadowColor: string;\n shadowOffset: {width: number; height: number};\n shadowOpacity: number;\n shadowRadius: number;\n elevation: number;\n overflow: string;\n flexDirection: string;\n alignItems: string;\n };\n};\n\nconst createStyleSheet = (theme: any) =>\n StyleSheet.create({\n boxShadow: {\n shadowColor: '#000',\n shadowOffset: {width: 0, height: 4},\n shadowOpacity: 0.12,\n shadowRadius: 16,\n elevation: 6\n },\n container: {\n backgroundColor: theme.colors.white,\n borderRadius: theme.radius.regular,\n overflow: 'hidden',\n flexDirection: 'row',\n alignItems: 'stretch'\n }\n });\n\nconst QuestionChoiceComponent = ({children, isSelected = false, testID: prefixTestID}: Props) => {\n const selectedSuffix = prefixTestID && isSelected ? '-selected' : '';\n\n const [styleSheet, setStylesheet] = useState<StyleType | null>(null);\n\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n return (\n <View style={[styleSheet && styleSheet.boxShadow]}>\n <View\n style={[styleSheet && styleSheet.container]}\n testID={prefixTestID && `${prefixTestID}${selectedSuffix}`}\n >\n {children}\n </View>\n </View>\n );\n};\n\nexport default QuestionChoiceComponent;\n"],"file":"index.native.js"}
@@ -8,7 +8,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
9
 
10
10
  var _default = {
11
- 'aria-label': _propTypes.default.string.isRequired,
11
+ 'aria-label': _propTypes.default.string,
12
12
  skillTitle: _propTypes.default.string,
13
13
  skillAriaLabel: _propTypes.default.string,
14
14
  buttonLabel: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/skill-card/prop-types.js"],"names":["PropTypes","string","isRequired","skillTitle","skillAriaLabel","buttonLabel","buttonAriaLabel","reviseLabel","reviseAriaLabel","isCustom","bool","onClick","func"],"mappings":";;;;;AAAA;;;;eAEe;AACb,gBAAcA,mBAAUC,MAAV,CAAiBC,UADlB;AAEbC,EAAAA,UAAU,EAAEH,mBAAUC,MAFT;AAGbG,EAAAA,cAAc,EAAEJ,mBAAUC,MAHb;AAIbI,EAAAA,WAAW,EAAEL,mBAAUC,MAJV;AAKbK,EAAAA,eAAe,EAAEN,mBAAUC,MALd;AAMbM,EAAAA,WAAW,EAAEP,mBAAUC,MANV;AAObO,EAAAA,eAAe,EAAER,mBAAUC,MAPd;AAQbQ,EAAAA,QAAQ,EAAET,mBAAUU,IARP;AASbC,EAAAA,OAAO,EAAEX,mBAAUY;AATN,C","sourcesContent":["import PropTypes from 'prop-types';\n\nexport default {\n 'aria-label': PropTypes.string.isRequired,\n skillTitle: PropTypes.string,\n skillAriaLabel: PropTypes.string,\n buttonLabel: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n reviseLabel: PropTypes.string,\n reviseAriaLabel: PropTypes.string,\n isCustom: PropTypes.bool,\n onClick: PropTypes.func\n};\n"],"file":"prop-types.js"}
1
+ {"version":3,"sources":["../../../src/molecule/skill-card/prop-types.js"],"names":["PropTypes","string","skillTitle","skillAriaLabel","buttonLabel","buttonAriaLabel","reviseLabel","reviseAriaLabel","isCustom","bool","onClick","func"],"mappings":";;;;;AAAA;;;;eAEe;AACb,gBAAcA,mBAAUC,MADX;AAEbC,EAAAA,UAAU,EAAEF,mBAAUC,MAFT;AAGbE,EAAAA,cAAc,EAAEH,mBAAUC,MAHb;AAIbG,EAAAA,WAAW,EAAEJ,mBAAUC,MAJV;AAKbI,EAAAA,eAAe,EAAEL,mBAAUC,MALd;AAMbK,EAAAA,WAAW,EAAEN,mBAAUC,MANV;AAObM,EAAAA,eAAe,EAAEP,mBAAUC,MAPd;AAQbO,EAAAA,QAAQ,EAAER,mBAAUS,IARP;AASbC,EAAAA,OAAO,EAAEV,mBAAUW;AATN,C","sourcesContent":["import PropTypes from 'prop-types';\n\nexport default {\n 'aria-label': PropTypes.string,\n skillTitle: PropTypes.string,\n skillAriaLabel: PropTypes.string,\n buttonLabel: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n reviseLabel: PropTypes.string,\n reviseAriaLabel: PropTypes.string,\n isCustom: PropTypes.bool,\n onClick: PropTypes.func\n};\n"],"file":"prop-types.js"}
@@ -17,6 +17,7 @@ const PlayerLoading = () => {
17
17
  }, /*#__PURE__*/_react.default.createElement(_loader.default, null));
18
18
  };
19
19
 
20
+ PlayerLoading.propTypes = process.env.NODE_ENV !== "production" ? {} : {};
20
21
  var _default = PlayerLoading;
21
22
  exports.default = _default;
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-player/loading/index.js"],"names":["PlayerLoading","style","wrapper"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEA,MAAMA,aAAa,GAAG,MAAM;AAC1B,sBACE;AAAK,IAAA,SAAS,EAAEC,eAAMC;AAAtB,kBACE,6BAAC,eAAD,OADF,CADF;AAKD,CAND;;eAQeF,a","sourcesContent":["import React from 'react';\nimport Loader from '../../../atom/loader';\nimport style from './style.css';\n\nconst PlayerLoading = () => {\n return (\n <div className={style.wrapper}>\n <Loader />\n </div>\n );\n};\n\nexport default PlayerLoading;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-player/loading/index.js"],"names":["PlayerLoading","style","wrapper","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEA,MAAMA,aAAa,GAAG,MAAM;AAC1B,sBACE;AAAK,IAAA,SAAS,EAAEC,eAAMC;AAAtB,kBACE,6BAAC,eAAD,OADF,CADF;AAKD,CAND;;AAQAF,aAAa,CAACG,SAAd,2CAA0B,EAA1B;eAEeH,a","sourcesContent":["import React from 'react';\nimport Loader from '../../../atom/loader';\nimport style from './style.css';\n\nconst PlayerLoading = () => {\n return (\n <div className={style.wrapper}>\n <Loader />\n </div>\n );\n};\n\nPlayerLoading.propTypes = {};\n\nexport default PlayerLoading;\n"],"file":"index.js"}
@@ -5,12 +5,15 @@ exports.default = void 0;
5
5
 
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
 
8
+ var _typings = require("./typings");
9
+
8
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
11
 
10
12
  const DemoTs = ({
11
13
  plop
12
14
  }) => /*#__PURE__*/_react.default.createElement("p", null, plop);
13
15
 
16
+ DemoTs.propTypes = process.env.NODE_ENV !== "production" ? _typings.propTypes : {};
14
17
  var _default = DemoTs;
15
18
  exports.default = _default;
16
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/demo-ts/index.tsx"],"names":["DemoTs","plop"],"mappings":";;;;;AAAA;;;;AAIA,MAAMA,MAAyB,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBAAmB,wCAAIA,IAAJ,CAArD;;eAEeD,M","sourcesContent":["import React, {FunctionComponent} from 'react';\n\nexport type Props = {plop: string};\n\nconst DemoTs: FunctionComponent = ({plop}: Props) => <p>{plop}</p>;\n\nexport default DemoTs;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/demo-ts/index.tsx"],"names":["DemoTs","plop","propTypes"],"mappings":";;;;;AAAA;;AACA;;;;AAEA,MAAMA,MAAgC,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBAAmB,wCAAIA,IAAJ,CAA5D;;AAEAD,MAAM,CAACE,SAAP,2CAAmBA,kBAAnB;eAEeF,M","sourcesContent":["import React, {FunctionComponent} from 'react';\nimport {Props, propTypes} from './typings';\n\nconst DemoTs: FunctionComponent<Props> = ({plop}: Props) => <p>{plop}</p>;\n\nDemoTs.propTypes = propTypes;\n\nexport default DemoTs;\n"],"file":"index.js"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const DemoTs = ({
13
+ plop
14
+ }) => /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, plop));
15
+
16
+ var _default = DemoTs;
17
+ exports.default = _default;
18
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/app-review/demo-ts/index.native.tsx"],"names":["DemoTs","plop"],"mappings":";;;;;AAAA;;AACA;;;;AAGA,MAAMA,MAAM,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACb,6BAAC,iBAAD,qBACE,6BAAC,iBAAD,QAAOA,IAAP,CADF,CADF;;eAMeD,M","sourcesContent":["import React from 'react';\nimport {View, Text} from 'react-native';\nimport {Props} from './typings';\n\nconst DemoTs = ({plop}: Props) => (\n <View>\n <Text>{plop}</Text>\n </View>\n);\n\nexport default DemoTs;\n"],"file":"index.native.js"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.propTypes = void 0;
5
+
6
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
+
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+
10
+ const propTypes = {
11
+ plop: _propTypes.default.string,
12
+ plip: _propTypes.default.number,
13
+ onClick: _propTypes.default.func
14
+ };
15
+ exports.propTypes = propTypes;
16
+ //# sourceMappingURL=typings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/app-review/demo-ts/typings.ts"],"names":["propTypes","plop","PropTypes","string","plip","number","onClick","func"],"mappings":";;;;;AAAA;;;;AAEO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAEC,mBAAUC,MADO;AAEvBC,EAAAA,IAAI,EAAEF,mBAAUG,MAFO;AAGvBC,EAAAA,OAAO,EAAEJ,mBAAUK;AAHI,CAAlB","sourcesContent":["import PropTypes from 'prop-types';\n\nexport const propTypes = {\n plop: PropTypes.string,\n plip: PropTypes.number,\n onClick: PropTypes.func\n};\n\nexport type Props = PropTypes.InferProps<typeof propTypes>;\n"],"file":"typings.js"}
@@ -5,6 +5,8 @@ exports.default = void 0;
5
5
 
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
 
8
+ var _loader = _interopRequireDefault(require("../../atom/loader"));
9
+
8
10
  var _onboarding = _interopRequireDefault(require("./onboarding"));
9
11
 
10
12
  var _skills = _interopRequireDefault(require("./skills"));
@@ -42,6 +44,9 @@ const AppReview = (_ref) => {
42
44
 
43
45
  case _propTypes.ViewNames.slides:
44
46
  return /*#__PURE__*/_react.default.createElement(_slides.default, _extends({}, slides, dispachers));
47
+
48
+ default:
49
+ return /*#__PURE__*/_react.default.createElement(_loader.default, null);
45
50
  }
46
51
  };
47
52
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/index.js"],"names":["AppReview","viewName","onboarding","skills","slides","dispachers","ViewNames","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA;AAEA,MAAMA,SAAS,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAAWC,IAAAA,UAAX;AAAuBC,IAAAA,MAAvB;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AAC3E,UAAQJ,QAAR;AACE,SAAKK,qBAAUH,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBE,UAAxB,EAAP;;AACF,SAAKC,qBAAUJ,UAAf;AACE,0BAAO,6BAAC,mBAAD,eAAgBA,UAAhB,EAAgCG,UAAhC,EAAP;;AACF,SAAKC,qBAAUF,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;AANJ;AAQD,CATD;;AAWAL,SAAS,CAACO,SAAV,2CAAsBA,kBAAtB,M,CAEA;;eAEeP,S","sourcesContent":["import React from 'react';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Slides from './slides';\nimport propTypes, {ViewNames} from './prop-types';\n\n// -----------------------------------------------------------------------------\n\nconst AppReview = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n switch (viewName) {\n case ViewNames.skills:\n return <Skills {...skills} {...dispachers} />;\n case ViewNames.onboarding:\n return <Onboarding {...onboarding} {...dispachers} />;\n case ViewNames.slides:\n return <Slides {...slides} {...dispachers} />;\n }\n};\n\nAppReview.propTypes = propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default AppReview;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/template/app-review/index.js"],"names":["AppReview","viewName","onboarding","skills","slides","dispachers","ViewNames","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA;AAEA,MAAMA,SAAS,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAAWC,IAAAA,UAAX;AAAuBC,IAAAA,MAAvB;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AAC3E,UAAQJ,QAAR;AACE,SAAKK,qBAAUH,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBE,UAAxB,EAAP;;AACF,SAAKC,qBAAUJ,UAAf;AACE,0BAAO,6BAAC,mBAAD,eAAgBA,UAAhB,EAAgCG,UAAhC,EAAP;;AACF,SAAKC,qBAAUF,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,6BAAC,eAAD,OAAP;AARJ;AAUD,CAXD;;AAaAL,SAAS,CAACO,SAAV,2CAAsBA,kBAAtB,M,CAEA;;eAEeP,S","sourcesContent":["import React from 'react';\nimport Loader from '../../atom/loader';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Slides from './slides';\nimport propTypes, {ViewNames} from './prop-types';\n\n// -----------------------------------------------------------------------------\n\nconst AppReview = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n switch (viewName) {\n case ViewNames.skills:\n return <Skills {...skills} {...dispachers} />;\n case ViewNames.onboarding:\n return <Onboarding {...onboarding} {...dispachers} />;\n case ViewNames.slides:\n return <Slides {...slides} {...dispachers} />;\n default:\n return <Loader />;\n }\n};\n\nAppReview.propTypes = propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default AppReview;\n"],"file":"index.js"}
@@ -38,22 +38,12 @@ const Switch = (_ref) => {
38
38
  } = _ref,
39
39
  dispachers = _objectWithoutPropertiesLoose(_ref, ["viewName", "onboarding", "skills", "slides"]);
40
40
 
41
- const {
42
- navigateTo
43
- } = dispachers;
44
-
45
- const handlePress = v => () => navigateTo(v);
46
-
47
41
  switch (viewName) {
48
42
  case _propTypes.ViewNames.home:
49
- return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
50
- onPress: handlePress('onboarding')
51
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view home"));
43
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view home");
52
44
 
53
45
  case _propTypes.ViewNames.onboarding:
54
- return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
55
- onPress: handlePress('quizzer')
56
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view onboarding"));
46
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "view onboarding");
57
47
 
58
48
  case _propTypes.ViewNames.slides:
59
49
  return /*#__PURE__*/_react.default.createElement(_slides.default, _extends({}, slides, dispachers));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["styles","StyleSheet","create","rootView","flex","alignItems","justifyContent","Switch","viewName","slides","dispachers","navigateTo","handlePress","v","ViewNames","home","onboarding","AppReview","props","navigateBack","backAction","backHandler","BackHandler","addEventListener","remove","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA;AAEA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI,EAAE,CADE;AAERC,IAAAA,UAAU,EAAE,QAFJ;AAGRC,IAAAA,cAAc,EAAE;AAHR;AADqB,CAAlB,CAAf,C,CAQA;;;AAEA,MAAMC,MAAM,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AACxE,QAAM;AAACC,IAAAA;AAAD,MAAeD,UAArB;;AACA,QAAME,WAAW,GAAGC,CAAC,IAAI,MAAMF,UAAU,CAACE,CAAD,CAAzC;;AAEA,UAAQL,QAAR;AACE,SAAKM,qBAAUC,IAAf;AACE,0BACE,6BAAC,sBAAD;AAAW,QAAA,OAAO,EAAEH,WAAW,CAAC,YAAD;AAA/B,sBACE,6BAAC,iBAAD,oBADF,CADF;;AAKF,SAAKE,qBAAUE,UAAf;AACE,0BACE,6BAAC,sBAAD;AAAW,QAAA,OAAO,EAAEJ,WAAW,CAAC,SAAD;AAA/B,sBACE,6BAAC,iBAAD,0BADF,CADF;;AAKF,SAAKE,qBAAUL,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,6BAAC,iBAAD,+BAAP;AAhBJ;AAkBD,CAtBD,C,CAwBA;;;AAEA,MAAMO,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA;AAAD,MAAiBD,KAAvB;AAEA,wBAAU,MAAM;AACd,UAAME,UAAU,GAAG,MAAM;AACvBD,MAAAA,YAAY;AACZ,aAAO,IAAP;AACD,KAHD,CADc,CAMd;;;AACA,UAAME,WAAW,GAAGC,yBAAYC,gBAAZ,CAA6B,mBAA7B,EAAkDH,UAAlD,CAApB;;AAEA,WAAO,MAAMC,WAAW,CAACG,MAAZ,EAAb;AACD,GAVD,EAUG,CAACL,YAAD,CAVH;AAYA,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEnB,MAAM,CAACG;AAApB,kBACE,6BAAC,MAAD,EAAYe,KAAZ,CADF,CADF;AAKD,CApBD,C,CAsBA;;;AAEAD,SAAS,CAACQ,SAAV,2CAAsBA,kBAAtB;AACAlB,MAAM,CAACkB,SAAP,2CAAmBR,SAAS,CAACQ,SAA7B,M,CAEA;;eAEeR,S","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, Pressable, View, BackHandler} from 'react-native';\nimport propTypes, {ViewNames} from './prop-types';\nimport Slides from './slides';\n\n// -----------------------------------------------------------------------------\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst Switch = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n const {navigateTo} = dispachers;\n const handlePress = v => () => navigateTo(v);\n\n switch (viewName) {\n case ViewNames.home:\n return (\n <Pressable onPress={handlePress('onboarding')}>\n <Text>view home</Text>\n </Pressable>\n );\n case ViewNames.onboarding:\n return (\n <Pressable onPress={handlePress('quizzer')}>\n <Text>view onboarding</Text>\n </Pressable>\n );\n case ViewNames.slides:\n return <Slides {...slides} {...dispachers} />;\n default:\n return <Text>view (none selected)</Text>;\n }\n};\n\n// -----------------------------------------------------------------------------\n\nconst AppReview = props => {\n const {navigateBack} = props;\n\n useEffect(() => {\n const backAction = () => {\n navigateBack();\n return true;\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n return (\n <View style={styles.rootView}>\n <Switch {...props} />\n </View>\n );\n};\n\n// -----------------------------------------------------------------------------\n\nAppReview.propTypes = propTypes;\nSwitch.propTypes = AppReview.propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default AppReview;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/template/app-review/index.native.js"],"names":["styles","StyleSheet","create","rootView","flex","alignItems","justifyContent","Switch","viewName","slides","dispachers","ViewNames","home","onboarding","AppReview","props","navigateBack","backAction","backHandler","BackHandler","addEventListener","remove","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA;AAEA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI,EAAE,CADE;AAERC,IAAAA,UAAU,EAAE,QAFJ;AAGRC,IAAAA,cAAc,EAAE;AAHR;AADqB,CAAlB,CAAf,C,CAQA;;;AAEA,MAAMC,MAAM,GAAG,UAA2D;AAAA,MAA1D;AAACC,IAAAA,QAAD;AAA+BC,IAAAA;AAA/B,GAA0D;AAAA,MAAhBC,UAAgB;;AACxE,UAAQF,QAAR;AACE,SAAKG,qBAAUC,IAAf;AACE,0BAAO,6BAAC,iBAAD,oBAAP;;AACF,SAAKD,qBAAUE,UAAf;AACE,0BAAO,6BAAC,iBAAD,0BAAP;;AACF,SAAKF,qBAAUF,MAAf;AACE,0BAAO,6BAAC,eAAD,eAAYA,MAAZ,EAAwBC,UAAxB,EAAP;;AACF;AACE,0BAAO,6BAAC,iBAAD,+BAAP;AARJ;AAUD,CAXD,C,CAaA;;;AAEA,MAAMI,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA;AAAD,MAAiBD,KAAvB;AAEA,wBAAU,MAAM;AACd,UAAME,UAAU,GAAG,MAAM;AACvBD,MAAAA,YAAY;AACZ,aAAO,IAAP;AACD,KAHD,CADc,CAMd;;;AACA,UAAME,WAAW,GAAGC,yBAAYC,gBAAZ,CAA6B,mBAA7B,EAAkDH,UAAlD,CAApB;;AAEA,WAAO,MAAMC,WAAW,CAACG,MAAZ,EAAb;AACD,GAVD,EAUG,CAACL,YAAD,CAVH;AAYA,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEhB,MAAM,CAACG;AAApB,kBACE,6BAAC,MAAD,EAAYY,KAAZ,CADF,CADF;AAKD,CApBD,C,CAsBA;;;AAEAD,SAAS,CAACQ,SAAV,2CAAsBA,kBAAtB;AACAf,MAAM,CAACe,SAAP,2CAAmBR,SAAS,CAACQ,SAA7B,M,CAEA;;eAEeR,S","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, View, BackHandler} from 'react-native';\nimport propTypes, {ViewNames} from './prop-types';\nimport Slides from './slides';\n\n// -----------------------------------------------------------------------------\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst Switch = ({viewName, onboarding, skills, slides, ...dispachers}) => {\n switch (viewName) {\n case ViewNames.home:\n return <Text>view home</Text>;\n case ViewNames.onboarding:\n return <Text>view onboarding</Text>;\n case ViewNames.slides:\n return <Slides {...slides} {...dispachers} />;\n default:\n return <Text>view (none selected)</Text>;\n }\n};\n\n// -----------------------------------------------------------------------------\n\nconst AppReview = props => {\n const {navigateBack} = props;\n\n useEffect(() => {\n const backAction = () => {\n navigateBack();\n return true;\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n return (\n <View style={styles.rootView}>\n <Switch {...props} />\n </View>\n );\n};\n\n// -----------------------------------------------------------------------------\n\nAppReview.propTypes = propTypes;\nSwitch.propTypes = AppReview.propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default AppReview;\n"],"file":"index.native.js"}
@@ -147,7 +147,7 @@ const choicesStyle = _reactNative.StyleSheet.create({
147
147
 
148
148
 
149
149
  const Choices = ({
150
- choices
150
+ choices = []
151
151
  }) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
152
152
  style: choicesStyle.container
153
153
  }, choices.map(({
@@ -170,11 +170,12 @@ Choices.propTypes = process.env.NODE_ENV !== "production" ? {
170
170
  })
171
171
  } : {}; // -----------------------------------------------------------------------------
172
172
 
173
- const Slide = ({
174
- validateSlide,
175
- slide,
176
- num
177
- }) => {
173
+ const Slide = props => {
174
+ const {
175
+ validateSlide,
176
+ slide,
177
+ num
178
+ } = props;
178
179
  const {
179
180
  width,
180
181
  height
@@ -189,11 +190,18 @@ const Slide = ({
189
190
  const {
190
191
  answerUI: {
191
192
  isDisabled = false,
192
- value,
193
+ value = '',
193
194
  model: {
194
195
  type,
195
196
  onChange
196
197
  }
198
+ } = {
199
+ isDisabled: false,
200
+ value: '',
201
+ model: {
202
+ type: 'freeText',
203
+ onChange: () => null
204
+ }
197
205
  }
198
206
  } = slide;
199
207
 
@@ -230,15 +238,10 @@ const Slide = ({
230
238
  onPress: validateSlide,
231
239
  testID: `button-quizzer-validate`
232
240
  }, validateLabel));
233
- };
234
-
235
- Slide.propTypes = process.env.NODE_ENV !== "production" ? {
236
- slide: _propTypes2.SlidesReviewPropTypes.slide,
237
- validateSlide: _propTypes2.SlidesReviewPropTypes.validateSlide,
238
- num: _propTypes.default.number
239
- } : {}; // -----------------------------------------------------------------------------
241
+ }; // -----------------------------------------------------------------------------
240
242
  // const Slides = ({slide}: Props) => {
241
243
 
244
+
242
245
  const Slides = ({
243
246
  slides,
244
247
  validateSlide
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/index.native.tsx"],"names":["quizzerStyle","StyleSheet","create","container","flex","padding","justifyContent","alignItems","SLIDE_HEIGHT","height","creatSlideStyle","num","width","slide","position","top","backgroundColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","category","fontSize","lineHeight","textAlign","question","fontWeight","instruction","button","createOptionStyle","selected","box","marginTop","marginBottom","text","choicesStyle","Choices","choices","map","index","optionStyle","propTypes","PropTypes","arrayOf","bool","Slide","validateSlide","slideStyle","validateLabel","templateContext","analytics","answerUI","isDisabled","value","model","type","onChange","SlidesReviewPropTypes","number","Slides","slides"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, StyleSheet, Text, useWindowDimensions, Button} from 'react-native';\n\nimport FreeText from '../../../molecule/questions/free-text';\nimport {useTemplateContext} from '../template-context';\nimport {SlidesReviewPropTypes} from './prop-types';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import {BrandThemeContext} from '../../../app-shared/components/brand-theme-provider';\n// import Button from '../../../app-shared/components/button';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n\n// export type _Choice_ = {\n// text?: string,\n// selected: boolean\n// };\n\n// export type _Slide_ = {\n// category: string,\n// question: string,\n// instruction: string,\n// type: 'multiSelection' | 'singleSelection' | 'trueOrFalse',\n// choices?: _Choice_[]\n// };\n\n// interface Props {\n// slide: _Slide_;\n// num: number;\n// }\n\nconst quizzerStyle = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n // paddingTop: HEADER_HEIGHT + 20, @todo with props\n // backgroundColor: theme.colors.white, @todo with props\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n});\n\nconst SLIDE_HEIGHT = () => useWindowDimensions().height * 0.75;\n\n// const creatSlideStyle = (num: number) =>\nconst creatSlideStyle = (num, width, height) =>\n StyleSheet.create({\n slide: {\n position: 'absolute',\n top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,\n flex: 1,\n backgroundColor: '#fff',\n // backgroundColor: theme.colors.white, @todo with props and useEffect\n height: SLIDE_HEIGHT(),\n width: width - 40 - num * 8,\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 category: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.text.primary, @todo with props\n // marginBottom: theme.spacing.tiny, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n question: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n // color: theme.colors.text.primary, @todo with props\n textAlign: 'center'\n },\n instruction: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.gray.medium, @todo with props\n // marginBottom: theme.spacing.base, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n button: {\n width: 287,\n height: 52,\n borderRadius: 7\n // marginTop: theme.spacing.base @todo with props\n }\n });\n\nconst createOptionStyle = selected => {\n // const brandTheme = React.useContext(BrandThemeContext); @todo with props\n\n return StyleSheet.create({\n box: {\n width: '100%',\n // https://stackoverflow.com/a/66561995/959219\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.2,\n shadowRadius: 16,\n elevation: 8,\n // backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props\n padding: 12,\n marginTop: 4,\n marginBottom: 4,\n borderRadius: 8\n },\n text: {\n fontSize: 15,\n fontWeight: 'bold',\n lineHeight: 24,\n // color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props\n textAlign: 'center'\n }\n });\n};\n\nconst choicesStyle = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\n/* {choices.map(({text, selected = false}: _Choice_) => { */\nconst Choices = ({choices}) => (\n <View style={choicesStyle.container}>\n {choices.map(({text, selected = false}, index) => {\n const optionStyle = createOptionStyle(selected);\n return (\n <View style={optionStyle.box} key={`choice-${index}`}>\n <Text style={optionStyle.text}>\n {text} {selected}\n </Text>\n </View>\n );\n })}\n </View>\n);\n\nChoices.propTypes = {\n choices: PropTypes.arrayOf({\n text: PropTypes.text,\n selected: PropTypes.bool\n })\n};\n\n// -----------------------------------------------------------------------------\n\nconst Slide = ({validateSlide, slide, num}) => {\n const {width, height} = useWindowDimensions();\n const slideStyle = creatSlideStyle(num, width, height);\n const validateLabel = '__validate'; // translations.validate\n\n const templateContext = useTemplateContext();\n const {analytics} = templateContext;\n\n const {\n answerUI: {\n isDisabled = false,\n value,\n model: {type, onChange}\n }\n } = slide;\n\n switch (type) {\n case 'freeText': {\n return (\n <View style={slideStyle.slide}>\n <FreeText\n isDisabled={isDisabled}\n onChange={onChange}\n value={value}\n testID=\"free-text\"\n questionType=\"basic\"\n analytics={analytics}\n />\n </View>\n );\n }\n default:\n }\n\n return (\n <View style={slideStyle.slide}>\n <Text style={slideStyle.category}>{num}</Text>\n <Text style={slideStyle.question}>{slide.question}</Text>\n <Text style={slideStyle.instruction}>{slide.instruction}</Text>\n\n <Choices choices={slide.choices} />\n\n <Button style={slideStyle.button} onPress={validateSlide} testID={`button-quizzer-validate`}>\n {validateLabel}\n </Button>\n </View>\n );\n};\n\nSlide.propTypes = {\n slide: SlidesReviewPropTypes.slide,\n validateSlide: SlidesReviewPropTypes.validateSlide,\n num: PropTypes.number\n};\n\n// -----------------------------------------------------------------------------\n\n// const Slides = ({slide}: Props) => {\nconst Slides = ({slides, validateSlide}) => {\n if (!slides) {\n return null;\n }\n\n return (\n <View style={quizzerStyle.container}>\n <Slide validateSlide={validateSlide} slide={slides[0]} num={0} key={`slide-${0}`} />\n {/* {slides.reverse().map((_slide, index) => (\n <Slide\n validateSlide={validateSlide}\n slide={_slide}\n num={slides.length - index}\n key={`slide-${index}`}\n />\n ))} */}\n </View>\n );\n};\n\nSlides.propTypes = SlidesReviewPropTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Slides;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/slides/index.native.tsx"],"names":["quizzerStyle","StyleSheet","create","container","flex","padding","justifyContent","alignItems","SLIDE_HEIGHT","height","creatSlideStyle","num","width","slide","position","top","backgroundColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","category","fontSize","lineHeight","textAlign","question","fontWeight","instruction","button","createOptionStyle","selected","box","marginTop","marginBottom","text","choicesStyle","Choices","choices","map","index","optionStyle","propTypes","PropTypes","arrayOf","bool","Slide","props","validateSlide","slideStyle","validateLabel","templateContext","analytics","answerUI","isDisabled","value","model","type","onChange","Slides","slides","SlidesReviewPropTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, StyleSheet, Text, useWindowDimensions, Button} from 'react-native';\n\nimport FreeText from '../../../molecule/questions/free-text';\nimport {useTemplateContext} from '../template-context';\nimport {SlidesReviewPropTypes} from './prop-types';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import {BrandThemeContext} from '../../../app-shared/components/brand-theme-provider';\n// import Button from '../../../app-shared/components/button';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n\n// export type _Choice_ = {\n// text?: string,\n// selected: boolean\n// };\n\n// export type _Slide_ = {\n// category: string,\n// question: string,\n// instruction: string,\n// type: 'multiSelection' | 'singleSelection' | 'trueOrFalse',\n// choices?: _Choice_[]\n// };\n\n// interface Props {\n// slide: _Slide_;\n// num: number;\n// }\n\nconst quizzerStyle = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n // paddingTop: HEADER_HEIGHT + 20, @todo with props\n // backgroundColor: theme.colors.white, @todo with props\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n});\n\nconst SLIDE_HEIGHT = () => useWindowDimensions().height * 0.75;\n\n// const creatSlideStyle = (num: number) =>\nconst creatSlideStyle = (num, width, height) =>\n StyleSheet.create({\n slide: {\n position: 'absolute',\n top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,\n flex: 1,\n backgroundColor: '#fff',\n // backgroundColor: theme.colors.white, @todo with props and useEffect\n height: SLIDE_HEIGHT(),\n width: width - 40 - num * 8,\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 category: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.text.primary, @todo with props\n // marginBottom: theme.spacing.tiny, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n question: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n // color: theme.colors.text.primary, @todo with props\n textAlign: 'center'\n },\n instruction: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.gray.medium, @todo with props\n // marginBottom: theme.spacing.base, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n button: {\n width: 287,\n height: 52,\n borderRadius: 7\n // marginTop: theme.spacing.base @todo with props\n }\n });\n\nconst createOptionStyle = selected => {\n // const brandTheme = React.useContext(BrandThemeContext); @todo with props\n\n return StyleSheet.create({\n box: {\n width: '100%',\n // https://stackoverflow.com/a/66561995/959219\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.2,\n shadowRadius: 16,\n elevation: 8,\n // backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props\n padding: 12,\n marginTop: 4,\n marginBottom: 4,\n borderRadius: 8\n },\n text: {\n fontSize: 15,\n fontWeight: 'bold',\n lineHeight: 24,\n // color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props\n textAlign: 'center'\n }\n });\n};\n\nconst choicesStyle = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\n/* {choices.map(({text, selected = false}: _Choice_) => { */\nconst Choices = ({choices = []}) => (\n <View style={choicesStyle.container}>\n {choices.map(({text, selected = false}, index) => {\n const optionStyle = createOptionStyle(selected);\n return (\n <View style={optionStyle.box} key={`choice-${index}`}>\n <Text style={optionStyle.text}>\n {text} {selected}\n </Text>\n </View>\n );\n })}\n </View>\n);\n\nChoices.propTypes = {\n choices: PropTypes.arrayOf({\n text: PropTypes.text,\n selected: PropTypes.bool\n })\n};\n\n// -----------------------------------------------------------------------------\n\nconst Slide = props => {\n const {validateSlide, slide, num} = props;\n const {width, height} = useWindowDimensions();\n\n const slideStyle = creatSlideStyle(num, width, height);\n const validateLabel = '__validate'; // translations.validate\n\n const templateContext = useTemplateContext();\n const {analytics} = templateContext;\n\n const {\n answerUI: {isDisabled = false, value = '', model: {type, onChange}} = {\n isDisabled: false,\n value: '',\n model: {type: 'freeText', onChange: () => null}\n }\n } = slide;\n\n switch (type) {\n case 'freeText': {\n return (\n <View style={slideStyle.slide}>\n <FreeText\n isDisabled={isDisabled}\n onChange={onChange}\n value={value}\n testID=\"free-text\"\n questionType=\"basic\"\n analytics={analytics}\n />\n </View>\n );\n }\n default:\n }\n\n return (\n <View style={slideStyle.slide}>\n <Text style={slideStyle.category}>{num}</Text>\n <Text style={slideStyle.question}>{slide.question}</Text>\n <Text style={slideStyle.instruction}>{slide.instruction}</Text>\n\n <Choices choices={slide.choices} />\n\n <Button style={slideStyle.button} onPress={validateSlide} testID={`button-quizzer-validate`}>\n {validateLabel}\n </Button>\n </View>\n );\n};\n\n// -----------------------------------------------------------------------------\n\n// const Slides = ({slide}: Props) => {\nconst Slides = ({slides, validateSlide}) => {\n if (!slides) {\n return null;\n }\n\n return (\n <View style={quizzerStyle.container}>\n <Slide validateSlide={validateSlide} slide={slides[0]} num={0} key={`slide-${0}`} />\n {/* {slides.reverse().map((_slide, index) => (\n <Slide\n validateSlide={validateSlide}\n slide={_slide}\n num={slides.length - index}\n key={`slide-${index}`}\n />\n ))} */}\n </View>\n );\n};\n\nSlides.propTypes = SlidesReviewPropTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Slides;\n"],"file":"index.native.js"}
@@ -5,6 +5,10 @@ exports.useTemplateContext = exports.TemplateContext = void 0;
5
5
 
6
6
  var _react = _interopRequireWildcard(require("react"));
7
7
 
8
+ var _theme = _interopRequireDefault(require("../../variables/theme.native"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
8
12
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
9
13
 
10
14
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -12,7 +16,9 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
12
16
  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); }
13
17
 
14
18
  // -----------------------------------------------------------------------------
15
- const Context = (0, _react.createContext)({}); // -----------------------------------------------------------------------------
19
+ const Context = (0, _react.createContext)({
20
+ theme: _theme.default
21
+ }); // -----------------------------------------------------------------------------
16
22
 
17
23
  const useTemplateContext = () => {
18
24
  const context = (0, _react.useContext)(Context);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["Context","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;;;;AAEA;;;;;;;;AAEA;AAEA,MAAMA,OAAO,GAAG,0BAAc,EAAd,CAAhB,C,CAEA;;AAEA,MAAMC,kBAAkB,GAAG,MAAM;AAC/B,QAAMC,OAAO,GAAG,uBAAWF,OAAX,CAAhB;;AAEA,MAAI,CAACE,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD,C,CAYA;;;;;AASA,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AACrD,sBAAO,6BAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD,C,CAIA","sourcesContent":["// -----------------------------------------------------------------------------\n\nimport React, {createContext, useContext} from 'react';\n\n// -----------------------------------------------------------------------------\n\nconst Context = createContext({});\n\n// -----------------------------------------------------------------------------\n\nconst useTemplateContext = () => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error(\n `❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`\n );\n }\n\n return context;\n};\n\n// -----------------------------------------------------------------------------\ntype TemplateContextValues = {\n brandTheme: any;\n theme: any; // TODO type Theme\n translations: any; // TODO type Translations\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\n// -----------------------------------------------------------------------------\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
1
+ {"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["Context","theme","defaultTheme","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;;;;AAEA;;AAEA;;;;;;;;;;AAYA;AAEA,MAAMA,OAAO,GAAG,0BAAc;AAC5BC,EAAAA,KAAK,EAAEC;AADqB,CAAd,CAAhB,C,CAIA;;AAEA,MAAMC,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAG,uBAAWJ,OAAX,CAAhB;;AAEA,MAAI,CAACI,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD,C,CAYA;;;;;AAEA,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AACrD,sBAAO,6BAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD,C,CAIA","sourcesContent":["// -----------------------------------------------------------------------------\n\nimport React, {createContext, useContext} from 'react';\nimport {Analytics} from '../../variables/analytics';\nimport defaultTheme, {Theme} from '../../variables/theme.native';\nimport {Vibration} from '../../variables/vibration';\n\nexport type TemplateContextValues = {\n analytics?: Analytics;\n brandTheme?: any;\n theme: Theme;\n vibration?: Vibration;\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\n// -----------------------------------------------------------------------------\n\nconst Context = createContext({\n theme: defaultTheme\n});\n\n// -----------------------------------------------------------------------------\n\nconst useTemplateContext = (): TemplateContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error(\n `❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`\n );\n }\n\n return context;\n};\n\n// -----------------------------------------------------------------------------\n\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\n// -----------------------------------------------------------------------------\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/variables/analytics.tsx"],"names":["ANALYTICS_EVENT_TYPE","PRESS","SWIPE","LONG_PRESS","SLIDE","MEDIA_VIEWED","START_PROGRESSION","OPEN_SELECT","CLOSE_SELECT","INPUT_BLUR","INPUT_FOCUS","FINISH_PROGRESSION","SIGN_IN","SIGN_OUT","NAVIGATE","VALIDATE_ANSWER","PERMISSION","NOTIFICATIONS_MAYBE_LATER","NOTIFICATIONS_YES_NOTIFY_ME","NOTIFICATIONS"],"mappings":";;;;AAAO,MAAMA,oBAAoB,GAAG;AAClCC,EAAAA,KAAK,EAAE,OAD2B;AAElCC,EAAAA,KAAK,EAAE,OAF2B;AAGlCC,EAAAA,UAAU,EAAE,WAHsB;AAIlCC,EAAAA,KAAK,EAAE,OAJ2B;AAKlCC,EAAAA,YAAY,EAAE,aALoB;AAMlCC,EAAAA,iBAAiB,EAAE,kBANe;AAOlCC,EAAAA,WAAW,EAAE,YAPqB;AAQlCC,EAAAA,YAAY,EAAE,aARoB;AASlCC,EAAAA,UAAU,EAAE,WATsB;AAUlCC,EAAAA,WAAW,EAAE,YAVqB;AAWlCC,EAAAA,kBAAkB,EAAE,mBAXc;AAYlCC,EAAAA,OAAO,EAAE,QAZyB;AAalCC,EAAAA,QAAQ,EAAE,SAbwB;AAclCC,EAAAA,QAAQ,EAAE,UAdwB;AAelCC,EAAAA,eAAe,EAAE,gBAfiB;AAgBlCC,EAAAA,UAAU,EAAE,YAhBsB;AAiBlCC,EAAAA,yBAAyB,EAAE,yBAjBO;AAkBlCC,EAAAA,2BAA2B,EAAE,0BAlBK;AAmBlCC,EAAAA,aAAa,EAAE;AAnBmB,CAA7B","sourcesContent":["export const ANALYTICS_EVENT_TYPE = {\n PRESS: 'press',\n SWIPE: 'swipe',\n LONG_PRESS: 'longPress',\n SLIDE: 'slide',\n MEDIA_VIEWED: 'mediaViewed',\n START_PROGRESSION: 'startProgression',\n OPEN_SELECT: 'openSelect',\n CLOSE_SELECT: 'closeSelect',\n INPUT_BLUR: 'inputBlur',\n INPUT_FOCUS: 'inputFocus',\n FINISH_PROGRESSION: 'finishProgression',\n SIGN_IN: 'signIn',\n SIGN_OUT: 'signOut',\n NAVIGATE: 'navigate',\n VALIDATE_ANSWER: 'validateAnswer',\n PERMISSION: 'permission',\n NOTIFICATIONS_MAYBE_LATER: 'notificationsMaybeLater',\n NOTIFICATIONS_YES_NOTIFY_ME: 'notificationsYesNotifyMe',\n NOTIFICATIONS: 'notifications'\n};\n\nexport type Analytics = {\n logEvent: Function;\n};\n"],"file":"analytics.js"}
1
+ {"version":3,"sources":["../../src/variables/analytics.tsx"],"names":["ANALYTICS_EVENT_TYPE","PRESS","SWIPE","LONG_PRESS","SLIDE","MEDIA_VIEWED","START_PROGRESSION","OPEN_SELECT","CLOSE_SELECT","INPUT_BLUR","INPUT_FOCUS","FINISH_PROGRESSION","SIGN_IN","SIGN_OUT","NAVIGATE","VALIDATE_ANSWER","PERMISSION","NOTIFICATIONS_MAYBE_LATER","NOTIFICATIONS_YES_NOTIFY_ME","NOTIFICATIONS"],"mappings":";;;;AAAO,MAAMA,oBAAoB,GAAG;AAClCC,EAAAA,KAAK,EAAE,OAD2B;AAElCC,EAAAA,KAAK,EAAE,OAF2B;AAGlCC,EAAAA,UAAU,EAAE,WAHsB;AAIlCC,EAAAA,KAAK,EAAE,OAJ2B;AAKlCC,EAAAA,YAAY,EAAE,aALoB;AAMlCC,EAAAA,iBAAiB,EAAE,kBANe;AAOlCC,EAAAA,WAAW,EAAE,YAPqB;AAQlCC,EAAAA,YAAY,EAAE,aARoB;AASlCC,EAAAA,UAAU,EAAE,WATsB;AAUlCC,EAAAA,WAAW,EAAE,YAVqB;AAWlCC,EAAAA,kBAAkB,EAAE,mBAXc;AAYlCC,EAAAA,OAAO,EAAE,QAZyB;AAalCC,EAAAA,QAAQ,EAAE,SAbwB;AAclCC,EAAAA,QAAQ,EAAE,UAdwB;AAelCC,EAAAA,eAAe,EAAE,gBAfiB;AAgBlCC,EAAAA,UAAU,EAAE,YAhBsB;AAiBlCC,EAAAA,yBAAyB,EAAE,yBAjBO;AAkBlCC,EAAAA,2BAA2B,EAAE,0BAlBK;AAmBlCC,EAAAA,aAAa,EAAE;AAnBmB,CAA7B","sourcesContent":["export const ANALYTICS_EVENT_TYPE = {\n PRESS: 'press',\n SWIPE: 'swipe',\n LONG_PRESS: 'longPress',\n SLIDE: 'slide',\n MEDIA_VIEWED: 'mediaViewed',\n START_PROGRESSION: 'startProgression',\n OPEN_SELECT: 'openSelect',\n CLOSE_SELECT: 'closeSelect',\n INPUT_BLUR: 'inputBlur',\n INPUT_FOCUS: 'inputFocus',\n FINISH_PROGRESSION: 'finishProgression',\n SIGN_IN: 'signIn',\n SIGN_OUT: 'signOut',\n NAVIGATE: 'navigate',\n VALIDATE_ANSWER: 'validateAnswer',\n PERMISSION: 'permission',\n NOTIFICATIONS_MAYBE_LATER: 'notificationsMaybeLater',\n NOTIFICATIONS_YES_NOTIFY_ME: 'notificationsYesNotifyMe',\n NOTIFICATIONS: 'notifications'\n};\n\nexport type Analytics = {\n logEvent: Function;\n};\n\nexport type AnalyticsEventParams = {\n [key: string]: string | number;\n};\n"],"file":"analytics.js"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ const defaultTheme = {
6
+ colors: {
7
+ border: 'rgba(0, 0, 0, 0.1)',
8
+ gray: {
9
+ extra: '#FAFAFA',
10
+ lighter: '#F4F4F5',
11
+ light: '#ededed',
12
+ lightMedium: '#CFD8DC',
13
+ medium: '#90A4AE',
14
+ dark: '#546E7A',
15
+ extraDark: '#323232'
16
+ },
17
+ text: {
18
+ primary: '#06265B'
19
+ },
20
+ background: {},
21
+ cta: '#0061FF',
22
+ negative: '#F73F52',
23
+ positive: '#3EC483',
24
+ white: '#FFFFFF',
25
+ black: '#14171A',
26
+ battle: '#FFDE03',
27
+ notification: '#FF7043',
28
+ salmon: '#FDE2E5'
29
+ },
30
+ spacing: {
31
+ micro: 4,
32
+ tiny: 8,
33
+ small: 16,
34
+ base: 24,
35
+ medium: 32,
36
+ large: 48,
37
+ xlarge: 64
38
+ },
39
+ radius: {
40
+ common: 3,
41
+ card: 5,
42
+ regular: 8,
43
+ medium: 12,
44
+ search: 24,
45
+ button: 32,
46
+ thumbnail: 1000
47
+ },
48
+ fontWeight: {
49
+ regular: '400',
50
+ semiBold: '500',
51
+ bold: '700',
52
+ extraBold: '900'
53
+ },
54
+ fontSize: {
55
+ extraSmall: 10,
56
+ small: 12,
57
+ medium: 13,
58
+ regular: 15,
59
+ large: 17,
60
+ xlarge: 22,
61
+ xxlarge: 28,
62
+ xxxlarge: 40
63
+ },
64
+ letterSpacing: {
65
+ header: 5
66
+ }
67
+ };
68
+ var _default = defaultTheme;
69
+ exports.default = _default;
70
+ //# sourceMappingURL=theme.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/variables/theme.native.ts"],"names":["defaultTheme","colors","border","gray","extra","lighter","light","lightMedium","medium","dark","extraDark","text","primary","background","cta","negative","positive","white","black","battle","notification","salmon","spacing","micro","tiny","small","base","large","xlarge","radius","common","card","regular","search","button","thumbnail","fontWeight","semiBold","bold","extraBold","fontSize","extraSmall","xxlarge","xxxlarge","letterSpacing","header"],"mappings":";;;;AAuDA,MAAMA,YAAmB,GAAG;AAC1BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,oBADF;AAENC,IAAAA,IAAI,EAAE;AACJC,MAAAA,KAAK,EAAE,SADH;AAEJC,MAAAA,OAAO,EAAE,SAFL;AAGJC,MAAAA,KAAK,EAAE,SAHH;AAIJC,MAAAA,WAAW,EAAE,SAJT;AAKJC,MAAAA,MAAM,EAAE,SALJ;AAMJC,MAAAA,IAAI,EAAE,SANF;AAOJC,MAAAA,SAAS,EAAE;AAPP,KAFA;AAWNC,IAAAA,IAAI,EAAE;AACJC,MAAAA,OAAO,EAAE;AADL,KAXA;AAcNC,IAAAA,UAAU,EAAE,EAdN;AAeNC,IAAAA,GAAG,EAAE,SAfC;AAgBNC,IAAAA,QAAQ,EAAE,SAhBJ;AAiBNC,IAAAA,QAAQ,EAAE,SAjBJ;AAkBNC,IAAAA,KAAK,EAAE,SAlBD;AAmBNC,IAAAA,KAAK,EAAE,SAnBD;AAoBNC,IAAAA,MAAM,EAAE,SApBF;AAqBNC,IAAAA,YAAY,EAAE,SArBR;AAsBNC,IAAAA,MAAM,EAAE;AAtBF,GADkB;AAyB1BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,KAAK,EAAE,CADA;AAEPC,IAAAA,IAAI,EAAE,CAFC;AAGPC,IAAAA,KAAK,EAAE,EAHA;AAIPC,IAAAA,IAAI,EAAE,EAJC;AAKPlB,IAAAA,MAAM,EAAE,EALD;AAMPmB,IAAAA,KAAK,EAAE,EANA;AAOPC,IAAAA,MAAM,EAAE;AAPD,GAzBiB;AAkC1BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,CADF;AAENC,IAAAA,IAAI,EAAE,CAFA;AAGNC,IAAAA,OAAO,EAAE,CAHH;AAINxB,IAAAA,MAAM,EAAE,EAJF;AAKNyB,IAAAA,MAAM,EAAE,EALF;AAMNC,IAAAA,MAAM,EAAE,EANF;AAONC,IAAAA,SAAS,EAAE;AAPL,GAlCkB;AA2C1BC,EAAAA,UAAU,EAAE;AACVJ,IAAAA,OAAO,EAAE,KADC;AAEVK,IAAAA,QAAQ,EAAE,KAFA;AAGVC,IAAAA,IAAI,EAAE,KAHI;AAIVC,IAAAA,SAAS,EAAE;AAJD,GA3Cc;AAiD1BC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,UAAU,EAAE,EADJ;AAERhB,IAAAA,KAAK,EAAE,EAFC;AAGRjB,IAAAA,MAAM,EAAE,EAHA;AAIRwB,IAAAA,OAAO,EAAE,EAJD;AAKRL,IAAAA,KAAK,EAAE,EALC;AAMRC,IAAAA,MAAM,EAAE,EANA;AAORc,IAAAA,OAAO,EAAE,EAPD;AAQRC,IAAAA,QAAQ,EAAE;AARF,GAjDgB;AA2D1BC,EAAAA,aAAa,EAAE;AACbC,IAAAA,MAAM,EAAE;AADK;AA3DW,CAA5B;eAgEe7C,Y","sourcesContent":["type SpaceType = 'micro' | 'tiny' | 'small' | 'base' | 'medium' | 'large' | 'xlarge';\n\nexport type Colors = {\n border: string;\n gray: {\n extra: string;\n light: string;\n lighter: string;\n lightMedium: string;\n medium: string;\n dark: string;\n extraDark: string;\n };\n text: {\n primary: '#06265B';\n };\n negative: string;\n positive: string;\n white: string;\n black: string;\n battle: string;\n notification: string;\n salmon: string;\n};\n\nexport type FontWeightType = 'extraBold' | 'bold' | 'semiBold' | 'regular';\n\nexport type FontSizeType =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'regular'\n | 'large'\n | 'xlarge'\n | 'xxlarge'\n | 'xxxlarge';\n\nexport type Theme = {\n colors: Colors;\n spacing: {[key in SpaceType]: string};\n radius: {\n common: number;\n card: number;\n medium: number;\n search: number;\n button: number;\n thumbnail: number;\n };\n fontWeight: {[key in FontWeightType]: string};\n fontSize: {[key in FontSizeType]: string};\n letterSpacing: {\n header: number;\n };\n};\n\nconst defaultTheme: Theme = {\n colors: {\n border: 'rgba(0, 0, 0, 0.1)',\n gray: {\n extra: '#FAFAFA',\n lighter: '#F4F4F5',\n light: '#ededed',\n lightMedium: '#CFD8DC',\n medium: '#90A4AE',\n dark: '#546E7A',\n extraDark: '#323232'\n },\n text: {\n primary: '#06265B'\n },\n background: {},\n cta: '#0061FF',\n negative: '#F73F52',\n positive: '#3EC483',\n white: '#FFFFFF',\n black: '#14171A',\n battle: '#FFDE03',\n notification: '#FF7043',\n salmon: '#FDE2E5'\n },\n spacing: {\n micro: 4,\n tiny: 8,\n small: 16,\n base: 24,\n medium: 32,\n large: 48,\n xlarge: 64\n },\n radius: {\n common: 3,\n card: 5,\n regular: 8,\n medium: 12,\n search: 24,\n button: 32,\n thumbnail: 1000\n },\n fontWeight: {\n regular: '400',\n semiBold: '500',\n bold: '700',\n extraBold: '900'\n },\n fontSize: {\n extraSmall: 10,\n small: 12,\n medium: 13,\n regular: 15,\n large: 17,\n xlarge: 22,\n xxlarge: 28,\n xxxlarge: 40\n },\n letterSpacing: {\n header: 5\n }\n};\n\nexport default defaultTheme;\n"],"file":"theme.native.js"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.VIBRATION_TYPE = void 0;
5
+ const VIBRATION_TYPE = {
6
+ SELECTION: 'selection',
7
+ IMPACT_LIGHT: 'impactLight',
8
+ IMPACT_MEDIUM: 'impactMedium',
9
+ IMPACT_HEAVY: 'impactHeavy',
10
+ NOTIFICATION_SUCCESS: 'notificationSuccess',
11
+ NOTIFICATION_WARNING: 'notificationWarning',
12
+ NOTIFICATION_ERROR: 'notificationError'
13
+ };
14
+ exports.VIBRATION_TYPE = VIBRATION_TYPE;
15
+ //# sourceMappingURL=vibration.js.map