@coorpacademy/components 10.22.24 → 10.22.25-alpha.20

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/choice/index.native.js +4 -4
  2. package/es/atom/choice/index.native.js.map +1 -1
  3. package/es/atom/select-modal/index.native.js +1 -1
  4. package/es/atom/select-modal/index.native.js.map +1 -1
  5. package/es/molecule/answer/index.native.js +85 -0
  6. package/es/molecule/answer/index.native.js.map +1 -0
  7. package/es/molecule/answer/prop-types.js +22 -3
  8. package/es/molecule/answer/prop-types.js.map +1 -1
  9. package/es/molecule/questions/mobile/draggable/index.native.js +8 -29
  10. package/es/molecule/questions/mobile/draggable/index.native.js.map +1 -1
  11. package/es/molecule/questions/mobile/switch/index.native.js +57 -54
  12. package/es/molecule/questions/mobile/switch/index.native.js.map +1 -1
  13. package/es/molecule/questions/mobile/template/index.native.js +18 -23
  14. package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
  15. package/es/organism/review-congrats/index.js +3 -1
  16. package/es/organism/review-congrats/index.js.map +1 -1
  17. package/es/organism/review-congrats/style.css +5 -0
  18. package/es/organism/review-slide/index.js +1 -8
  19. package/es/organism/review-slide/index.js.map +1 -1
  20. package/es/organism/review-slide/index.native.js +213 -0
  21. package/es/organism/review-slide/index.native.js.map +1 -0
  22. package/es/organism/review-slide/prop-types.js +4 -3
  23. package/es/organism/review-slide/prop-types.js.map +1 -1
  24. package/es/organism/review-stacked-slides/index.native.js +34 -0
  25. package/es/organism/review-stacked-slides/index.native.js.map +1 -0
  26. package/es/organism/review-stacked-slides/prop-types.js +3 -2
  27. package/es/organism/review-stacked-slides/prop-types.js.map +1 -1
  28. package/es/template/app-player/loading/index.js +9 -3
  29. package/es/template/app-player/loading/index.js.map +1 -1
  30. package/es/template/app-player/popin-correction/index.js +6 -3
  31. package/es/template/app-player/popin-correction/index.js.map +1 -1
  32. package/es/template/app-player/popin-end/index.js +6 -3
  33. package/es/template/app-player/popin-end/index.js.map +1 -1
  34. package/es/template/app-review/player/index.native.js +33 -230
  35. package/es/template/app-review/player/index.native.js.map +1 -1
  36. package/es/template/app-review/player/prop-types.js.map +1 -1
  37. package/es/template/app-review/player/style.css +7 -0
  38. package/es/template/app-review/template-context.js +3 -1
  39. package/es/template/app-review/template-context.js.map +1 -1
  40. package/lib/atom/choice/index.native.js +4 -4
  41. package/lib/atom/choice/index.native.js.map +1 -1
  42. package/lib/atom/select-modal/index.native.js +1 -1
  43. package/lib/atom/select-modal/index.native.js.map +1 -1
  44. package/lib/molecule/answer/index.native.js +94 -0
  45. package/lib/molecule/answer/index.native.js.map +1 -0
  46. package/lib/molecule/answer/prop-types.js +25 -3
  47. package/lib/molecule/answer/prop-types.js.map +1 -1
  48. package/lib/molecule/questions/mobile/draggable/index.native.js +8 -31
  49. package/lib/molecule/questions/mobile/draggable/index.native.js.map +1 -1
  50. package/lib/molecule/questions/mobile/switch/index.native.js +64 -62
  51. package/lib/molecule/questions/mobile/switch/index.native.js.map +1 -1
  52. package/lib/molecule/questions/mobile/template/index.native.js +18 -23
  53. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
  54. package/lib/organism/review-congrats/index.js +3 -1
  55. package/lib/organism/review-congrats/index.js.map +1 -1
  56. package/lib/organism/review-congrats/style.css +5 -0
  57. package/lib/organism/review-slide/index.js +1 -8
  58. package/lib/organism/review-slide/index.js.map +1 -1
  59. package/lib/organism/review-slide/index.native.js +232 -0
  60. package/lib/organism/review-slide/index.native.js.map +1 -0
  61. package/lib/organism/review-slide/prop-types.js +6 -5
  62. package/lib/organism/review-slide/prop-types.js.map +1 -1
  63. package/lib/organism/review-stacked-slides/index.native.js +47 -0
  64. package/lib/organism/review-stacked-slides/index.native.js.map +1 -0
  65. package/lib/organism/review-stacked-slides/prop-types.js +3 -2
  66. package/lib/organism/review-stacked-slides/prop-types.js.map +1 -1
  67. package/lib/template/app-player/loading/index.js +11 -3
  68. package/lib/template/app-player/loading/index.js.map +1 -1
  69. package/lib/template/app-player/popin-correction/index.js +7 -3
  70. package/lib/template/app-player/popin-correction/index.js.map +1 -1
  71. package/lib/template/app-player/popin-end/index.js +7 -3
  72. package/lib/template/app-player/popin-end/index.js.map +1 -1
  73. package/lib/template/app-review/player/index.native.js +36 -233
  74. package/lib/template/app-review/player/index.native.js.map +1 -1
  75. package/lib/template/app-review/player/prop-types.js.map +1 -1
  76. package/lib/template/app-review/player/style.css +7 -0
  77. package/lib/template/app-review/template-context.js +3 -1
  78. package/lib/template/app-review/template-context.js.map +1 -1
  79. package/package.json +2 -2
  80. package/es/molecule/questions/qcm/index.native.js +0 -50
  81. package/es/molecule/questions/qcm/index.native.js.map +0 -1
  82. package/lib/molecule/questions/qcm/index.native.js +0 -62
  83. package/lib/molecule/questions/qcm/index.native.js.map +0 -1
@@ -5,19 +5,27 @@ exports.default = void 0;
5
5
 
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
 
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
8
10
  var _loader = _interopRequireDefault(require("../../../atom/loader"));
9
11
 
12
+ var _cmPopin = _interopRequireDefault(require("../../../molecule/cm-popin"));
13
+
10
14
  var _style = _interopRequireDefault(require("./style.css"));
11
15
 
12
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
17
 
14
- const PlayerLoading = () => {
18
+ const PlayerLoading = ({
19
+ popinError
20
+ }) => {
15
21
  return /*#__PURE__*/_react.default.createElement("div", {
16
22
  className: _style.default.wrapper
17
- }, /*#__PURE__*/_react.default.createElement(_loader.default, null));
23
+ }, popinError ? /*#__PURE__*/_react.default.createElement(_cmPopin.default, popinError) : /*#__PURE__*/_react.default.createElement(_loader.default, null));
18
24
  };
19
25
 
20
- PlayerLoading.propTypes = process.env.NODE_ENV !== "production" ? {} : {};
26
+ PlayerLoading.propTypes = process.env.NODE_ENV !== "production" ? {
27
+ popinError: _propTypes.default.shape(_cmPopin.default.propTypes)
28
+ } : {};
21
29
  var _default = PlayerLoading;
22
30
  exports.default = _default;
23
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"sources":["../../../../src/template/app-player/loading/index.js"],"names":["PlayerLoading","popinError","style","wrapper","propTypes","PropTypes","shape","CMPopin"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,aAAa,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,KAAkB;AACtC,sBACE;AAAK,IAAA,SAAS,EAAEC,eAAMC;AAAtB,KAAgCF,UAAU,gBAAG,6BAAC,gBAAD,EAAaA,UAAb,CAAH,gBAAiC,6BAAC,eAAD,OAA3E,CADF;AAGD,CAJD;;AAMAD,aAAa,CAACI,SAAd,2CAA0B;AACxBH,EAAAA,UAAU,EAAEI,mBAAUC,KAAV,CAAgBC,iBAAQH,SAAxB;AADY,CAA1B;eAIeJ,a","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Loader from '../../../atom/loader';\nimport CMPopin from '../../../molecule/cm-popin';\nimport style from './style.css';\n\nconst PlayerLoading = ({popinError}) => {\n return (\n <div className={style.wrapper}>{popinError ? <CMPopin {...popinError} /> : <Loader />}</div>\n );\n};\n\nPlayerLoading.propTypes = {\n popinError: PropTypes.shape(CMPopin.propTypes)\n};\n\nexport default PlayerLoading;\n"],"file":"index.js"}
@@ -35,6 +35,8 @@ var _resourceBrowser = _interopRequireDefault(require("../../../organism/resourc
35
35
 
36
36
  var _container = _interopRequireDefault(require("../../../organism/accordion/container"));
37
37
 
38
+ var _cmPopin = _interopRequireDefault(require("../../../molecule/cm-popin"));
39
+
38
40
  var _popinHeader = _interopRequireDefault(require("../popin-header"));
39
41
 
40
42
  var _style = _interopRequireDefault(require("./style.css"));
@@ -200,7 +202,8 @@ class PopinCorrection extends _react.Component {
200
202
  tips,
201
203
  onClick,
202
204
  quit = {},
203
- assistanceLink = {}
205
+ assistanceLink = {},
206
+ popinError
204
207
  } = this.props;
205
208
  const {
206
209
  open
@@ -236,7 +239,7 @@ class PopinCorrection extends _react.Component {
236
239
  ref: this.initWrapper,
237
240
  className: className,
238
241
  "data-name": "popinCorrection"
239
- }, /*#__PURE__*/_react.default.createElement("div", {
242
+ }, popinError ? /*#__PURE__*/_react.default.createElement(_cmPopin.default, popinError) : null, /*#__PURE__*/_react.default.createElement("div", {
240
243
  className: _style.default.scrollWrapper
241
244
  }, /*#__PURE__*/_react.default.createElement("div", {
242
245
  className: isLoading ? _style.default.loadingWrapper : _style.default.wrapper
@@ -284,7 +287,8 @@ PopinCorrection.propTypes = process.env.NODE_ENV !== "production" ? {
284
287
  title: _propTypes.default.string
285
288
  }))
286
289
  }),
287
- onOpen: _propTypes.default.func
290
+ onOpen: _propTypes.default.func,
291
+ popinError: _propTypes.default.shape(_cmPopin.default.propTypes)
288
292
  } : {};
289
293
  var _default = PopinCorrection;
290
294
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-player/popin-correction/index.js"],"names":["extractTabs","items","map","type","item","iconType","title","isOpen","open","Resources","resources","overlay","style","browserWrapper","value","browser","propTypes","PropTypes","shape","ResourceBrowser","SimpleText","text","simpleTextWrapper","simpleText","innerHTML","__html","string","AssistanceLink","props","context","onClick","skin","white","wrapperAssistance","alertIcon","titleLink","contextTypes","Provider","childContextTypes","func","Question","header","answer","answerPrefix","question","questionHeader","answerWrapper","checkIcon","PopinCorrection","Component","constructor","state","initWrapper","bind","componentDidMount","deferOpen","clearTimeout","deferedOpen","onOpen","setState","wrapper","render","extraLifeGranted","gameOver","klf","tips","quit","assistanceLink","primary","tabs","isLoading","failed","className","finalBackground","initialBackground","cta","linkProps","quitCta","color","hideQuitCta","scrollWrapper","loadingWrapper","loadingContent","content","activeLoader","Header","Accordion","Link"],"mappings":"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","sourcesContent":["import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {defer, isNil, isEmpty, get, getOr, keys, omit} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaLineInterfaceFeedbackInterfaceAlertCircle as AlertIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../../../atom/loader';\nimport Link from '../../../atom/link';\nimport Provider from '../../../atom/provider';\nimport ResourceBrowser from '../../../organism/resource-browser';\nimport Accordion from '../../../organism/accordion/container';\nimport Header from '../popin-header';\nimport style from './style.css';\n\nconst extractTabs = items =>\n keys(items).map(type => {\n const item = items[type];\n return {iconType: type, title: item.title, isOpen: item.open};\n });\n\nconst Resources = ({resources, overlay}) => (\n <div className={style.browserWrapper}>\n <ResourceBrowser resources={resources.value} overlay={overlay} className={style.browser} />\n </div>\n);\n\nResources.propTypes = {\n resources: PropTypes.shape({\n value: ResourceBrowser.propTypes.resources\n }),\n overlay: ResourceBrowser.propTypes.overlay\n};\n\nconst SimpleText = ({text}) => (\n <div data-name=\"simpleText\" className={style.simpleTextWrapper}>\n <p\n className={classnames(style.simpleText, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: text}}\n />\n </div>\n);\n\nSimpleText.propTypes = {\n text: PropTypes.string\n};\n\nconst AssistanceLink = (props, context) => {\n if (isEmpty(props)) return null;\n const {title, onClick} = props;\n if (isEmpty(title)) return null;\n const {skin} = context;\n const white = get('common.white', skin);\n\n return (\n <div className={style.wrapperAssistance} onClick={onClick}>\n <AlertIcon className={style.alertIcon} color={white} />\n <span className={style.titleLink}> {title} </span>\n </div>\n );\n};\n\nAssistanceLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nAssistanceLink.propTypes = {\n title: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst Question = ({header, answer, answerPrefix}) => (\n <div className={style.question}>\n <p\n className={classnames(style.questionHeader, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: header}}\n />\n <div className={style.answerWrapper}>\n <CheckIcon className={style.checkIcon} color=\"inherit\" />\n {answerPrefix ? <span className={style.answerPrefix}>{answerPrefix}</span> : null}\n <span\n className={classnames(style.answer, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: answer}}\n />\n </div>\n </div>\n);\n\nQuestion.propTypes = {\n header: PropTypes.string,\n answerPrefix: PropTypes.string,\n answer: PropTypes.string\n};\n\nclass PopinCorrection extends Component {\n static propTypes = {\n resources: Resources.propTypes.resources,\n overlay: ResourceBrowser.propTypes.overlay,\n assistanceLink: PropTypes.shape(AssistanceLink.propTypes),\n header: PropTypes.shape(omit(['animated'], Header.propTypes)),\n extraLifeGranted: Header.propTypes.extraLifeGranted,\n gameOver: Header.propTypes.gameOver,\n question: PropTypes.shape(Question.propTypes),\n klf: PropTypes.shape(SimpleText.propTypes),\n tips: PropTypes.shape(SimpleText.propTypes),\n onClick: Accordion.propTypes.onClick,\n quit: PropTypes.shape({\n cta: PropTypes.shape({\n ...Link.propTypes,\n title: PropTypes.string\n })\n }),\n onOpen: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {open: false};\n this.initWrapper = this.initWrapper.bind(this);\n }\n\n componentDidMount() {\n this.deferOpen();\n }\n\n deferOpen() {\n clearTimeout(this.deferedOpen);\n\n this.deferedOpen = defer(() => {\n const {onOpen} = this.props;\n this.setState({open: true});\n onOpen && onOpen();\n });\n }\n\n initWrapper(wrapper) {\n this.wrapper = wrapper;\n }\n\n render() {\n const {\n header = {},\n extraLifeGranted,\n gameOver,\n question,\n overlay,\n resources,\n klf,\n tips,\n onClick,\n quit = {},\n assistanceLink = {}\n } = this.props;\n\n const {open} = this.state;\n\n const {skin} = this.context;\n const primary = getOr('#f0f', 'common.primary', skin);\n\n const tabs = extractTabs({resources, klf, tips});\n const isLoading = isNil(header.failed);\n const className = open ? style.finalBackground : style.initialBackground;\n const {title, ...linkProps} = quit.cta || {};\n\n const quitCta =\n title || extraLifeGranted ? (\n <Link\n {...linkProps}\n style={{\n color: primary\n }}\n className={extraLifeGranted ? style.hideQuitCta : style.quitCta}\n data-name=\"nextLink\"\n data-popin=\"popinCorrection\"\n data-next=\"quit-with-extra-life\"\n >\n {title}\n </Link>\n ) : null;\n\n return (\n <div ref={this.initWrapper} className={className} data-name=\"popinCorrection\">\n <div className={style.scrollWrapper}>\n <div className={isLoading ? style.loadingWrapper : style.wrapper}>\n <div className={isLoading ? style.loadingContent : style.content}>\n <Header\n {...header}\n gameOver={gameOver}\n extraLifeGranted={extraLifeGranted}\n animated\n />\n <Question {...question} />\n <Accordion tabProps={tabs} onClick={onClick} oneTabOnly>\n {isEmpty(getOr([], 'value', resources)) ? null : (\n <Resources resources={resources} overlay={overlay} />\n )}\n {klf.value ? <SimpleText text={klf.value} /> : null}\n {tips.value ? <SimpleText text={tips.value} /> : null}\n </Accordion>\n </div>\n {quitCta}\n <AssistanceLink {...assistanceLink} />\n </div>\n {isLoading ? <Loader className={style.activeLoader} /> : null}\n </div>\n </div>\n );\n }\n}\n\nexport default PopinCorrection;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-player/popin-correction/index.js"],"names":["extractTabs","items","map","type","item","iconType","title","isOpen","open","Resources","resources","overlay","style","browserWrapper","value","browser","propTypes","PropTypes","shape","ResourceBrowser","SimpleText","text","simpleTextWrapper","simpleText","innerHTML","__html","string","AssistanceLink","props","context","onClick","skin","white","wrapperAssistance","alertIcon","titleLink","contextTypes","Provider","childContextTypes","func","Question","header","answer","answerPrefix","question","questionHeader","answerWrapper","checkIcon","PopinCorrection","Component","constructor","state","initWrapper","bind","componentDidMount","deferOpen","clearTimeout","deferedOpen","onOpen","setState","wrapper","render","extraLifeGranted","gameOver","klf","tips","quit","assistanceLink","popinError","primary","tabs","isLoading","failed","className","finalBackground","initialBackground","cta","linkProps","quitCta","color","hideQuitCta","scrollWrapper","loadingWrapper","loadingContent","content","activeLoader","Header","Accordion","Link","CMPopin"],"mappings":"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","sourcesContent":["import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {defer, isNil, isEmpty, get, getOr, keys, omit} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaLineInterfaceFeedbackInterfaceAlertCircle as AlertIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../../../atom/loader';\nimport Link from '../../../atom/link';\nimport Provider from '../../../atom/provider';\nimport ResourceBrowser from '../../../organism/resource-browser';\nimport Accordion from '../../../organism/accordion/container';\nimport CMPopin from '../../../molecule/cm-popin';\nimport Header from '../popin-header';\nimport style from './style.css';\n\nconst extractTabs = items =>\n keys(items).map(type => {\n const item = items[type];\n return {iconType: type, title: item.title, isOpen: item.open};\n });\n\nconst Resources = ({resources, overlay}) => (\n <div className={style.browserWrapper}>\n <ResourceBrowser resources={resources.value} overlay={overlay} className={style.browser} />\n </div>\n);\n\nResources.propTypes = {\n resources: PropTypes.shape({\n value: ResourceBrowser.propTypes.resources\n }),\n overlay: ResourceBrowser.propTypes.overlay\n};\n\nconst SimpleText = ({text}) => (\n <div data-name=\"simpleText\" className={style.simpleTextWrapper}>\n <p\n className={classnames(style.simpleText, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: text}}\n />\n </div>\n);\n\nSimpleText.propTypes = {\n text: PropTypes.string\n};\n\nconst AssistanceLink = (props, context) => {\n if (isEmpty(props)) return null;\n const {title, onClick} = props;\n if (isEmpty(title)) return null;\n const {skin} = context;\n const white = get('common.white', skin);\n\n return (\n <div className={style.wrapperAssistance} onClick={onClick}>\n <AlertIcon className={style.alertIcon} color={white} />\n <span className={style.titleLink}> {title} </span>\n </div>\n );\n};\n\nAssistanceLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nAssistanceLink.propTypes = {\n title: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst Question = ({header, answer, answerPrefix}) => (\n <div className={style.question}>\n <p\n className={classnames(style.questionHeader, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: header}}\n />\n <div className={style.answerWrapper}>\n <CheckIcon className={style.checkIcon} color=\"inherit\" />\n {answerPrefix ? <span className={style.answerPrefix}>{answerPrefix}</span> : null}\n <span\n className={classnames(style.answer, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: answer}}\n />\n </div>\n </div>\n);\n\nQuestion.propTypes = {\n header: PropTypes.string,\n answerPrefix: PropTypes.string,\n answer: PropTypes.string\n};\n\nclass PopinCorrection extends Component {\n static propTypes = {\n resources: Resources.propTypes.resources,\n overlay: ResourceBrowser.propTypes.overlay,\n assistanceLink: PropTypes.shape(AssistanceLink.propTypes),\n header: PropTypes.shape(omit(['animated'], Header.propTypes)),\n extraLifeGranted: Header.propTypes.extraLifeGranted,\n gameOver: Header.propTypes.gameOver,\n question: PropTypes.shape(Question.propTypes),\n klf: PropTypes.shape(SimpleText.propTypes),\n tips: PropTypes.shape(SimpleText.propTypes),\n onClick: Accordion.propTypes.onClick,\n quit: PropTypes.shape({\n cta: PropTypes.shape({\n ...Link.propTypes,\n title: PropTypes.string\n })\n }),\n onOpen: PropTypes.func,\n popinError: PropTypes.shape(CMPopin.propTypes)\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {open: false};\n this.initWrapper = this.initWrapper.bind(this);\n }\n\n componentDidMount() {\n this.deferOpen();\n }\n\n deferOpen() {\n clearTimeout(this.deferedOpen);\n\n this.deferedOpen = defer(() => {\n const {onOpen} = this.props;\n this.setState({open: true});\n onOpen && onOpen();\n });\n }\n\n initWrapper(wrapper) {\n this.wrapper = wrapper;\n }\n\n render() {\n const {\n header = {},\n extraLifeGranted,\n gameOver,\n question,\n overlay,\n resources,\n klf,\n tips,\n onClick,\n quit = {},\n assistanceLink = {},\n popinError\n } = this.props;\n\n const {open} = this.state;\n\n const {skin} = this.context;\n const primary = getOr('#f0f', 'common.primary', skin);\n\n const tabs = extractTabs({resources, klf, tips});\n const isLoading = isNil(header.failed);\n const className = open ? style.finalBackground : style.initialBackground;\n const {title, ...linkProps} = quit.cta || {};\n\n const quitCta =\n title || extraLifeGranted ? (\n <Link\n {...linkProps}\n style={{\n color: primary\n }}\n className={extraLifeGranted ? style.hideQuitCta : style.quitCta}\n data-name=\"nextLink\"\n data-popin=\"popinCorrection\"\n data-next=\"quit-with-extra-life\"\n >\n {title}\n </Link>\n ) : null;\n\n return (\n <div ref={this.initWrapper} className={className} data-name=\"popinCorrection\">\n {popinError ? <CMPopin {...popinError} /> : null}\n <div className={style.scrollWrapper}>\n <div className={isLoading ? style.loadingWrapper : style.wrapper}>\n <div className={isLoading ? style.loadingContent : style.content}>\n <Header\n {...header}\n gameOver={gameOver}\n extraLifeGranted={extraLifeGranted}\n animated\n />\n <Question {...question} />\n <Accordion tabProps={tabs} onClick={onClick} oneTabOnly>\n {isEmpty(getOr([], 'value', resources)) ? null : (\n <Resources resources={resources} overlay={overlay} />\n )}\n {klf.value ? <SimpleText text={klf.value} /> : null}\n {tips.value ? <SimpleText text={tips.value} /> : null}\n </Accordion>\n </div>\n {quitCta}\n <AssistanceLink {...assistanceLink} />\n </div>\n {isLoading ? <Loader className={style.activeLoader} /> : null}\n </div>\n </div>\n );\n }\n}\n\nexport default PopinCorrection;\n"],"file":"index.js"}
@@ -9,6 +9,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
10
10
  var _header = _interopRequireDefault(require("../player/slides/header"));
11
11
 
12
+ var _cmPopin = _interopRequireDefault(require("../../../molecule/cm-popin"));
13
+
12
14
  var _summary = _interopRequireDefault(require("./summary"));
13
15
 
14
16
  var _style = _interopRequireDefault(require("./style.css"));
@@ -34,12 +36,13 @@ const PopinEnd = props => {
34
36
  const {
35
37
  header,
36
38
  summary,
37
- mode = 'default'
39
+ mode = 'default',
40
+ popinError
38
41
  } = props;
39
42
  return /*#__PURE__*/_react.default.createElement("div", {
40
43
  "data-name": "popinEnd",
41
44
  className: _style.default.wrapper
42
- }, /*#__PURE__*/_react.default.createElement("div", {
45
+ }, popinError ? /*#__PURE__*/_react.default.createElement(_cmPopin.default, popinError) : null, /*#__PURE__*/_react.default.createElement("div", {
43
46
  className: _style.default.slidesHeader
44
47
  }, /*#__PURE__*/_react.default.createElement(_header.default, header)), /*#__PURE__*/_react.default.createElement(Content, _extends({}, summary, {
45
48
  mode: mode
@@ -49,7 +52,8 @@ const PopinEnd = props => {
49
52
  PopinEnd.propTypes = process.env.NODE_ENV !== "production" ? {
50
53
  header: _propTypes.default.shape(_header.default.propTypes),
51
54
  summary: _propTypes.default.shape(_summary.default.propTypes),
52
- mode: _propTypes.default.oneOf(['scorm', 'default'])
55
+ mode: _propTypes.default.oneOf(['scorm', 'default']),
56
+ popinError: _propTypes.default.shape(_cmPopin.default.propTypes)
53
57
  } : {};
54
58
  var _default = PopinEnd;
55
59
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-player/popin-end/index.js"],"names":["Content","props","mode","style","popinWrapper","propTypes","PropTypes","oneOf","PopinEnd","header","summary","wrapper","slidesHeader","shape","Header","Summary"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,OAAO,GAAGC,KAAK,IAAI;AACvB,QAAM;AAACC,IAAAA,IAAI,GAAG;AAAR,MAAqBD,KAA3B;AACA,sBACE;AAAK,IAAA,SAAS,EAAEC,IAAI,KAAK,OAAT,GAAmBC,eAAMC,YAAzB,GAAwC;AAAxD,kBACE,6BAAC,gBAAD,EAAaH,KAAb,CADF,CADF;AAKD,CAPD;;AAQAD,OAAO,CAACK,SAAR,2CAAoB;AAClBH,EAAAA,IAAI,EAAEI,mBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,SAAV,CAAhB;AADY,CAApB;;AAIA,MAAMC,QAAQ,GAAGP,KAAK,IAAI;AACxB,QAAM;AAACQ,IAAAA,MAAD;AAASC,IAAAA,OAAT;AAAkBR,IAAAA,IAAI,GAAG;AAAzB,MAAsCD,KAA5C;AACA,sBACE;AAAK,iBAAU,UAAf;AAA0B,IAAA,SAAS,EAAEE,eAAMQ;AAA3C,kBACE;AAAK,IAAA,SAAS,EAAER,eAAMS;AAAtB,kBACE,6BAAC,eAAD,EAAYH,MAAZ,CADF,CADF,eAIE,6BAAC,OAAD,eAAaC,OAAb;AAAsB,IAAA,IAAI,EAAER;AAA5B,KAJF,CADF;AAQD,CAVD;;AAYAM,QAAQ,CAACH,SAAT,2CAAqB;AACnBI,EAAAA,MAAM,EAAEH,mBAAUO,KAAV,CAAgBC,gBAAOT,SAAvB,CADW;AAEnBK,EAAAA,OAAO,EAAEJ,mBAAUO,KAAV,CAAgBE,iBAAQV,SAAxB,CAFU;AAGnBH,EAAAA,IAAI,EAAEI,mBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,SAAV,CAAhB;AAHa,CAArB;eAMeC,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Header from '../player/slides/header';\nimport Summary from './summary';\nimport style from './style.css';\n\nconst Content = props => {\n const {mode = 'default'} = props;\n return (\n <div className={mode !== 'scorm' ? style.popinWrapper : null}>\n <Summary {...props} />\n </div>\n );\n};\nContent.propTypes = {\n mode: PropTypes.oneOf(['scorm', 'default'])\n};\n\nconst PopinEnd = props => {\n const {header, summary, mode = 'default'} = props;\n return (\n <div data-name=\"popinEnd\" className={style.wrapper}>\n <div className={style.slidesHeader}>\n <Header {...header} />\n </div>\n <Content {...summary} mode={mode} />\n </div>\n );\n};\n\nPopinEnd.propTypes = {\n header: PropTypes.shape(Header.propTypes),\n summary: PropTypes.shape(Summary.propTypes),\n mode: PropTypes.oneOf(['scorm', 'default'])\n};\n\nexport default PopinEnd;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-player/popin-end/index.js"],"names":["Content","props","mode","style","popinWrapper","propTypes","PropTypes","oneOf","PopinEnd","header","summary","popinError","wrapper","slidesHeader","shape","Header","Summary","CMPopin"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,OAAO,GAAGC,KAAK,IAAI;AACvB,QAAM;AAACC,IAAAA,IAAI,GAAG;AAAR,MAAqBD,KAA3B;AACA,sBACE;AAAK,IAAA,SAAS,EAAEC,IAAI,KAAK,OAAT,GAAmBC,eAAMC,YAAzB,GAAwC;AAAxD,kBACE,6BAAC,gBAAD,EAAaH,KAAb,CADF,CADF;AAKD,CAPD;;AAQAD,OAAO,CAACK,SAAR,2CAAoB;AAClBH,EAAAA,IAAI,EAAEI,mBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,SAAV,CAAhB;AADY,CAApB;;AAIA,MAAMC,QAAQ,GAAGP,KAAK,IAAI;AACxB,QAAM;AAACQ,IAAAA,MAAD;AAASC,IAAAA,OAAT;AAAkBR,IAAAA,IAAI,GAAG,SAAzB;AAAoCS,IAAAA;AAApC,MAAkDV,KAAxD;AACA,sBACE;AAAK,iBAAU,UAAf;AAA0B,IAAA,SAAS,EAAEE,eAAMS;AAA3C,KACGD,UAAU,gBAAG,6BAAC,gBAAD,EAAaA,UAAb,CAAH,GAAiC,IAD9C,eAEE;AAAK,IAAA,SAAS,EAAER,eAAMU;AAAtB,kBACE,6BAAC,eAAD,EAAYJ,MAAZ,CADF,CAFF,eAKE,6BAAC,OAAD,eAAaC,OAAb;AAAsB,IAAA,IAAI,EAAER;AAA5B,KALF,CADF;AASD,CAXD;;AAaAM,QAAQ,CAACH,SAAT,2CAAqB;AACnBI,EAAAA,MAAM,EAAEH,mBAAUQ,KAAV,CAAgBC,gBAAOV,SAAvB,CADW;AAEnBK,EAAAA,OAAO,EAAEJ,mBAAUQ,KAAV,CAAgBE,iBAAQX,SAAxB,CAFU;AAGnBH,EAAAA,IAAI,EAAEI,mBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,SAAV,CAAhB,CAHa;AAInBI,EAAAA,UAAU,EAAEL,mBAAUQ,KAAV,CAAgBG,iBAAQZ,SAAxB;AAJO,CAArB;eAOeG,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Header from '../player/slides/header';\nimport CMPopin from '../../../molecule/cm-popin';\nimport Summary from './summary';\nimport style from './style.css';\n\nconst Content = props => {\n const {mode = 'default'} = props;\n return (\n <div className={mode !== 'scorm' ? style.popinWrapper : null}>\n <Summary {...props} />\n </div>\n );\n};\nContent.propTypes = {\n mode: PropTypes.oneOf(['scorm', 'default'])\n};\n\nconst PopinEnd = props => {\n const {header, summary, mode = 'default', popinError} = props;\n return (\n <div data-name=\"popinEnd\" className={style.wrapper}>\n {popinError ? <CMPopin {...popinError} /> : null}\n <div className={style.slidesHeader}>\n <Header {...header} />\n </div>\n <Content {...summary} mode={mode} />\n </div>\n );\n};\n\nPopinEnd.propTypes = {\n header: PropTypes.shape(Header.propTypes),\n summary: PropTypes.shape(Summary.propTypes),\n mode: PropTypes.oneOf(['scorm', 'default']),\n popinError: PropTypes.shape(CMPopin.propTypes)\n};\n\nexport default PopinEnd;\n"],"file":"index.js"}
@@ -3,267 +3,70 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
5
 
6
- var _react = _interopRequireDefault(require("react"));
7
-
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
6
+ var _react = _interopRequireWildcard(require("react"));
9
7
 
10
8
  var _reactNative = require("react-native");
11
9
 
12
- var _freeText = _interopRequireDefault(require("../../../molecule/questions/free-text"));
10
+ var _index = _interopRequireDefault(require("../../../organism/review-stacked-slides/index.native"));
13
11
 
14
12
  var _templateContext = require("../template-context");
15
13
 
16
- var _propTypes2 = require("./prop-types");
17
-
18
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
15
 
20
- // import theme from '../../../modules/theme';
21
- // import translations from '../../../translations';
22
- // import {BrandThemeContext} from '../../../app-shared/components/brand-theme-provider';
23
- // import Button from '../../../app-shared/components/button';
24
- // import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';
25
- // export type _Choice_ = {
26
- // text?: string,
27
- // selected: boolean
28
- // };
29
- // export type _Slide_ = {
30
- // category: string,
31
- // question: string,
32
- // instruction: string,
33
- // type: 'multiSelection' | 'singleSelection' | 'trueOrFalse',
34
- // choices?: _Choice_[]
35
- // };
36
- // interface Props {
37
- // slide: _Slide_;
38
- // num: number;
39
- // }
40
- const quizzerStyle = _reactNative.StyleSheet.create({
41
- container: {
42
- flex: 1,
43
- padding: 20,
44
- // paddingTop: HEADER_HEIGHT + 20, @todo with props
45
- // backgroundColor: theme.colors.white, @todo with props
46
- justifyContent: 'space-between',
47
- alignItems: 'center'
48
- }
49
- });
50
-
51
- const SLIDE_HEIGHT = () => (0, _reactNative.useWindowDimensions)().height * 0.75; // const creatSlideStyle = (num: number) =>
52
-
53
-
54
- const creatSlideStyle = (num, width, height) => _reactNative.StyleSheet.create({
55
- slide: {
56
- position: 'absolute',
57
- top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,
58
- flex: 1,
59
- backgroundColor: '#fff',
60
- // backgroundColor: theme.colors.white, @todo with props and useEffect
61
- height: SLIDE_HEIGHT(),
62
- width: width - 40 - num * 8,
63
- justifyContent: 'space-between',
64
- alignItems: 'center',
65
- padding: 25,
66
- shadowColor: '#000',
67
- shadowOffset: {
68
- width: 0,
69
- height: -1
70
- },
71
- shadowOpacity: 0.05,
72
- shadowRadius: 16,
73
- elevation: 10 - num * 1,
74
- borderRadius: 16
75
- },
76
- category: {
77
- fontSize: 12,
78
- lineHeight: 16,
79
- // color: theme.colors.text.primary, @todo with props
80
- // marginBottom: theme.spacing.tiny, @todo with props
81
- // marginTop: theme.spacing.small, @todo with props
82
- textAlign: 'center'
83
- },
84
- question: {
85
- fontSize: 16,
86
- lineHeight: 22,
87
- fontWeight: '700',
88
- // color: theme.colors.text.primary, @todo with props
89
- textAlign: 'center'
90
- },
91
- instruction: {
92
- fontSize: 12,
93
- lineHeight: 16,
94
- // color: theme.colors.gray.medium, @todo with props
95
- // marginBottom: theme.spacing.base, @todo with props
96
- // marginTop: theme.spacing.small, @todo with props
97
- textAlign: 'center'
98
- },
99
- button: {
100
- width: 287,
101
- height: 52,
102
- borderRadius: 7 // marginTop: theme.spacing.base @todo with props
16
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
103
17
 
104
- }
105
- });
106
-
107
- const createOptionStyle = selected => {
108
- // const brandTheme = React.useContext(BrandThemeContext); @todo with props
109
- return _reactNative.StyleSheet.create({
110
- box: {
111
- width: '100%',
112
- // https://stackoverflow.com/a/66561995/959219
113
- shadowColor: '#000',
114
- shadowOffset: {
115
- width: 0,
116
- height: -1
117
- },
118
- shadowOpacity: 0.2,
119
- shadowRadius: 16,
120
- elevation: 8,
121
- // backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props
122
- padding: 12,
123
- marginTop: 4,
124
- marginBottom: 4,
125
- borderRadius: 8
126
- },
127
- text: {
128
- fontSize: 15,
129
- fontWeight: 'bold',
130
- lineHeight: 24,
131
- // color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props
132
- textAlign: 'center'
133
- }
134
- });
135
- };
18
+ 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; }
136
19
 
137
- const choicesStyle = _reactNative.StyleSheet.create({
20
+ const createStyleSheet = (theme, headerHeight) => _reactNative.StyleSheet.create({
138
21
  container: {
139
22
  flex: 1,
140
- width: '100%',
141
- justifyContent: 'center',
23
+ paddingTop: headerHeight,
24
+ backgroundColor: theme.colors.white,
25
+ // justifyContent: 'space-between',
142
26
  alignItems: 'center'
27
+ },
28
+ header: {
29
+ width: '100%',
30
+ backgroundColor: '#ded',
31
+ height: 70
143
32
  }
144
33
  });
145
- /* {choices.map(({text, selected = false}: _Choice_) => { */
146
-
147
-
148
- const Choices = ({
149
- choices = []
150
- }) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
151
- style: choicesStyle.container
152
- }, choices.map(({
153
- text,
154
- selected = false
155
- }, index) => {
156
- const optionStyle = createOptionStyle(selected);
157
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
158
- style: optionStyle.box,
159
- key: `choice-${index}`
160
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
161
- style: optionStyle.text
162
- }, text, " ", selected));
163
- }));
164
34
 
165
- Choices.propTypes = process.env.NODE_ENV !== "production" ? {
166
- choices: _propTypes.default.arrayOf({
167
- text: _propTypes.default.text,
168
- selected: _propTypes.default.bool
169
- })
170
- } : {};
35
+ const ReviewHeader = ({
36
+ style
37
+ }) => /*#__PURE__*/_react.default.createElement(_reactNative.View, style, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "review header @todo"));
171
38
 
172
- const Slide = props => {
39
+ const Slides = props => {
173
40
  const {
174
- validateSlide,
175
- slide,
176
- num
41
+ header,
42
+ stack,
43
+ reviewBackgroundAriaLabel,
44
+ congratsProps
177
45
  } = props;
178
46
  const {
179
- width,
180
- height
181
- } = (0, _reactNative.useWindowDimensions)();
182
- const slideStyle = creatSlideStyle(num, width, height);
183
- const validateLabel = '__validate'; // translations.validate
184
-
185
- const templateContext = (0, _templateContext.useTemplateContext)();
186
- const {
187
- analytics
188
- } = templateContext;
189
- const {
190
- answerUI: {
191
- isDisabled = false,
192
- value = '',
193
- model: {
194
- type,
195
- onChange
196
- }
197
- } = {
198
- isDisabled: false,
199
- value: '',
200
- model: {
201
- type: 'freeText',
202
- onChange: () => null
203
- }
47
+ theme,
48
+ display: {
49
+ headerHeight
204
50
  }
205
- } = slide;
51
+ } = (0, _templateContext.useTemplateContext)();
52
+ const [styleSheet, setStylesheet] = (0, _react.useState)(null);
53
+ (0, _react.useEffect)(() => {
54
+ const _stylesheet = createStyleSheet(theme, headerHeight);
206
55
 
207
- switch (type) {
208
- case 'freeText':
209
- {
210
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
211
- style: slideStyle.slide
212
- }, /*#__PURE__*/_react.default.createElement(_freeText.default, {
213
- isDisabled: isDisabled,
214
- onChange: onChange,
215
- value: value,
216
- testID: "free-text",
217
- questionType: "basic",
218
- analytics: analytics
219
- }));
220
- }
221
-
222
- default:
223
- }
224
-
225
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
226
- style: slideStyle.slide
227
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
228
- style: slideStyle.category
229
- }, num), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
230
- style: slideStyle.question
231
- }, slide.question), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
232
- style: slideStyle.instruction
233
- }, slide.instruction), /*#__PURE__*/_react.default.createElement(Choices, {
234
- choices: slide.choices
235
- }), /*#__PURE__*/_react.default.createElement(_reactNative.Button, {
236
- style: slideStyle.button,
237
- onPress: validateSlide,
238
- testID: `button-quizzer-validate`
239
- }, validateLabel));
240
- }; // const Slides = ({slide}: Props) => {
241
-
242
-
243
- const Slides = props => {
244
- const {
245
- stack
246
- } = props;
247
- const {
248
- slides,
249
- validateButton: validateSlide
250
- } = stack;
56
+ setStylesheet(_stylesheet);
57
+ }, [theme, headerHeight]);
251
58
 
252
- if (!slides) {
253
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, null);
59
+ if (!styleSheet) {
60
+ return null;
254
61
  }
255
62
 
256
63
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
257
- style: quizzerStyle.container
258
- }, /*#__PURE__*/_react.default.createElement(Slide, {
259
- validateSlide: validateSlide,
260
- slide: slides[0],
261
- num: 0,
262
- key: `slide-${0}`
263
- }));
64
+ style: styleSheet.container
65
+ }, /*#__PURE__*/_react.default.createElement(ReviewHeader, {
66
+ style: styleSheet.header
67
+ }), stack ? /*#__PURE__*/_react.default.createElement(_index.default, stack) : null);
264
68
  };
265
69
 
266
- Slides.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.PlayerReviewPropTypes : {};
267
70
  var _default = Slides;
268
71
  exports.default = _default;
269
72
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/player/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","stack","slides","validateButton","PlayerReviewPropTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,MAAMA,YAAY,GAAGC,wBAAWC,MAAX,CAAkB;AACrCC,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EAAE,CADG;AAETC,IAAAA,OAAO,EAAE,EAFA;AAGT;AACA;AACAC,IAAAA,cAAc,EAAE,eALP;AAMTC,IAAAA,UAAU,EAAE;AANH;AAD0B,CAAlB,CAArB;;AAWA,MAAMC,YAAY,GAAG,MAAM,wCAAsBC,MAAtB,GAA+B,IAA1D,C,CAEA;;;AACA,MAAMC,eAAe,GAAG,CAACC,GAAD,EAAMC,KAAN,EAAaH,MAAb,KACtBR,wBAAWC,MAAX,CAAkB;AAChBW,EAAAA,KAAK,EAAE;AACLC,IAAAA,QAAQ,EAAE,UADL;AAELC,IAAAA,GAAG,EAAEN,MAAM,GAAG,CAAT,GAAaD,YAAY,KAAK,CAA9B,GAAkCG,GAAG,GAAG,CAFxC;AAGLP,IAAAA,IAAI,EAAE,CAHD;AAILY,IAAAA,eAAe,EAAE,MAJZ;AAKL;AACAP,IAAAA,MAAM,EAAED,YAAY,EANf;AAOLI,IAAAA,KAAK,EAAEA,KAAK,GAAG,EAAR,GAAaD,GAAG,GAAG,CAPrB;AAQLL,IAAAA,cAAc,EAAE,eARX;AASLC,IAAAA,UAAU,EAAE,QATP;AAULF,IAAAA,OAAO,EAAE,EAVJ;AAWLY,IAAAA,WAAW,EAAE,MAXR;AAYLC,IAAAA,YAAY,EAAE;AAACN,MAAAA,KAAK,EAAE,CAAR;AAAWH,MAAAA,MAAM,EAAE,CAAC;AAApB,KAZT;AAaLU,IAAAA,aAAa,EAAE,IAbV;AAcLC,IAAAA,YAAY,EAAE,EAdT;AAeLC,IAAAA,SAAS,EAAE,KAAKV,GAAG,GAAG,CAfjB;AAgBLW,IAAAA,YAAY,EAAE;AAhBT,GADS;AAmBhBC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,QAAQ,EAAE,EADF;AAERC,IAAAA,UAAU,EAAE,EAFJ;AAGR;AACA;AACA;AACAC,IAAAA,SAAS,EAAE;AANH,GAnBM;AA2BhBC,EAAAA,QAAQ,EAAE;AACRH,IAAAA,QAAQ,EAAE,EADF;AAERC,IAAAA,UAAU,EAAE,EAFJ;AAGRG,IAAAA,UAAU,EAAE,KAHJ;AAIR;AACAF,IAAAA,SAAS,EAAE;AALH,GA3BM;AAkChBG,EAAAA,WAAW,EAAE;AACXL,IAAAA,QAAQ,EAAE,EADC;AAEXC,IAAAA,UAAU,EAAE,EAFD;AAGX;AACA;AACA;AACAC,IAAAA,SAAS,EAAE;AANA,GAlCG;AA0ChBI,EAAAA,MAAM,EAAE;AACNlB,IAAAA,KAAK,EAAE,GADD;AAENH,IAAAA,MAAM,EAAE,EAFF;AAGNa,IAAAA,YAAY,EAAE,CAHR,CAIN;;AAJM;AA1CQ,CAAlB,CADF;;AAmDA,MAAMS,iBAAiB,GAAGC,QAAQ,IAAI;AACpC;AAEA,SAAO/B,wBAAWC,MAAX,CAAkB;AACvB+B,IAAAA,GAAG,EAAE;AACHrB,MAAAA,KAAK,EAAE,MADJ;AAEH;AACAK,MAAAA,WAAW,EAAE,MAHV;AAIHC,MAAAA,YAAY,EAAE;AAACN,QAAAA,KAAK,EAAE,CAAR;AAAWH,QAAAA,MAAM,EAAE,CAAC;AAApB,OAJX;AAKHU,MAAAA,aAAa,EAAE,GALZ;AAMHC,MAAAA,YAAY,EAAE,EANX;AAOHC,MAAAA,SAAS,EAAE,CAPR;AAQH;AACAhB,MAAAA,OAAO,EAAE,EATN;AAUH6B,MAAAA,SAAS,EAAE,CAVR;AAWHC,MAAAA,YAAY,EAAE,CAXX;AAYHb,MAAAA,YAAY,EAAE;AAZX,KADkB;AAevBc,IAAAA,IAAI,EAAE;AACJZ,MAAAA,QAAQ,EAAE,EADN;AAEJI,MAAAA,UAAU,EAAE,MAFR;AAGJH,MAAAA,UAAU,EAAE,EAHR;AAIJ;AACAC,MAAAA,SAAS,EAAE;AALP;AAfiB,GAAlB,CAAP;AAuBD,CA1BD;;AA4BA,MAAMW,YAAY,GAAGpC,wBAAWC,MAAX,CAAkB;AACrCC,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EAAE,CADG;AAETQ,IAAAA,KAAK,EAAE,MAFE;AAGTN,IAAAA,cAAc,EAAE,QAHP;AAITC,IAAAA,UAAU,EAAE;AAJH;AAD0B,CAAlB,CAArB;AASA;;;AACA,MAAM+B,OAAO,GAAG,CAAC;AAACC,EAAAA,OAAO,GAAG;AAAX,CAAD,kBACd,6BAAC,iBAAD;AAAM,EAAA,KAAK,EAAEF,YAAY,CAAClC;AAA1B,GACGoC,OAAO,CAACC,GAAR,CAAY,CAAC;AAACJ,EAAAA,IAAD;AAAOJ,EAAAA,QAAQ,GAAG;AAAlB,CAAD,EAA2BS,KAA3B,KAAqC;AAChD,QAAMC,WAAW,GAAGX,iBAAiB,CAACC,QAAD,CAArC;AACA,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEU,WAAW,CAACT,GAAzB;AAA8B,IAAA,GAAG,EAAG,UAASQ,KAAM;AAAnD,kBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEC,WAAW,CAACN;AAAzB,KACGA,IADH,OACUJ,QADV,CADF,CADF;AAOD,CATA,CADH,CADF;;AAeAM,OAAO,CAACK,SAAR,2CAAoB;AAClBJ,EAAAA,OAAO,EAAEK,mBAAUC,OAAV,CAAkB;AACzBT,IAAAA,IAAI,EAAEQ,mBAAUR,IADS;AAEzBJ,IAAAA,QAAQ,EAAEY,mBAAUE;AAFK,GAAlB;AADS,CAApB;;AAOA,MAAMC,KAAK,GAAGC,KAAK,IAAI;AACrB,QAAM;AAACC,IAAAA,aAAD;AAAgBpC,IAAAA,KAAhB;AAAuBF,IAAAA;AAAvB,MAA8BqC,KAApC;AACA,QAAM;AAACpC,IAAAA,KAAD;AAAQH,IAAAA;AAAR,MAAkB,uCAAxB;AAEA,QAAMyC,UAAU,GAAGxC,eAAe,CAACC,GAAD,EAAMC,KAAN,EAAaH,MAAb,CAAlC;AACA,QAAM0C,aAAa,GAAG,YAAtB,CALqB,CAKe;;AAEpC,QAAMC,eAAe,GAAG,0CAAxB;AACA,QAAM;AAACC,IAAAA;AAAD,MAAcD,eAApB;AAEA,QAAM;AACJE,IAAAA,QAAQ,EAAE;AAACC,MAAAA,UAAU,GAAG,KAAd;AAAqBC,MAAAA,KAAK,GAAG,EAA7B;AAAiCC,MAAAA,KAAK,EAAE;AAACC,QAAAA,IAAD;AAAOC,QAAAA;AAAP;AAAxC,QAA4D;AACpEJ,MAAAA,UAAU,EAAE,KADwD;AAEpEC,MAAAA,KAAK,EAAE,EAF6D;AAGpEC,MAAAA,KAAK,EAAE;AAACC,QAAAA,IAAI,EAAE,UAAP;AAAmBC,QAAAA,QAAQ,EAAE,MAAM;AAAnC;AAH6D;AADlE,MAMF9C,KANJ;;AAQA,UAAQ6C,IAAR;AACE,SAAK,UAAL;AAAiB;AACf,4BACE,6BAAC,iBAAD;AAAM,UAAA,KAAK,EAAER,UAAU,CAACrC;AAAxB,wBACE,6BAAC,iBAAD;AACE,UAAA,UAAU,EAAE0C,UADd;AAEE,UAAA,QAAQ,EAAEI,QAFZ;AAGE,UAAA,KAAK,EAAEH,KAHT;AAIE,UAAA,MAAM,EAAC,WAJT;AAKE,UAAA,YAAY,EAAC,OALf;AAME,UAAA,SAAS,EAAEH;AANb,UADF,CADF;AAYD;;AACD;AAfF;;AAkBA,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEH,UAAU,CAACrC;AAAxB,kBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEqC,UAAU,CAAC3B;AAAxB,KAAmCZ,GAAnC,CADF,eAEE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEuC,UAAU,CAACvB;AAAxB,KAAmCd,KAAK,CAACc,QAAzC,CAFF,eAGE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEuB,UAAU,CAACrB;AAAxB,KAAsChB,KAAK,CAACgB,WAA5C,CAHF,eAKE,6BAAC,OAAD;AAAS,IAAA,OAAO,EAAEhB,KAAK,CAAC0B;AAAxB,IALF,eAOE,6BAAC,mBAAD;AAAQ,IAAA,KAAK,EAAEW,UAAU,CAACpB,MAA1B;AAAkC,IAAA,OAAO,EAAEmB,aAA3C;AAA0D,IAAA,MAAM,EAAG;AAAnE,KACGE,aADH,CAPF,CADF;AAaD,CAjDD,C,CAmDA;;;AACA,MAAMS,MAAM,GAAGZ,KAAK,IAAI;AACtB,QAAM;AAACa,IAAAA;AAAD,MAAUb,KAAhB;AACA,QAAM;AAACc,IAAAA,MAAD;AAASC,IAAAA,cAAc,EAAEd;AAAzB,MAA0CY,KAAhD;;AACA,MAAI,CAACC,MAAL,EAAa;AACX,wBAAO,6BAAC,iBAAD,OAAP;AACD;;AAED,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAE9D,YAAY,CAACG;AAA1B,kBACE,6BAAC,KAAD;AAAO,IAAA,aAAa,EAAE8C,aAAtB;AAAqC,IAAA,KAAK,EAAEa,MAAM,CAAC,CAAD,CAAlD;AAAuD,IAAA,GAAG,EAAE,CAA5D;AAA+D,IAAA,GAAG,EAAG,SAAQ,CAAE;AAA/E,IADF,CADF;AAaD,CApBD;;AAsBAF,MAAM,CAACjB,SAAP,2CAAmBqB,iCAAnB;eAEeJ,M","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 {PlayerReviewPropTypes} 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/* {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\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// const Slides = ({slide}: Props) => {\nconst Slides = props => {\n const {stack} = props;\n const {slides, validateButton: validateSlide} = stack;\n if (!slides) {\n return <View />;\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 = PlayerReviewPropTypes;\n\nexport default Slides;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/player/index.native.tsx"],"names":["createStyleSheet","theme","headerHeight","StyleSheet","create","container","flex","paddingTop","backgroundColor","colors","white","alignItems","header","width","height","ReviewHeader","style","Slides","props","stack","reviewBackgroundAriaLabel","congratsProps","display","styleSheet","setStylesheet","_stylesheet"],"mappings":";;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;AAGA,MAAMA,gBAAgB,GAAG,CAACC,KAAD,EAAeC,YAAf,KACvBC,wBAAWC,MAAX,CAAkB;AAChBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EAAE,CADG;AAETC,IAAAA,UAAU,EAAEL,YAFH;AAGTM,IAAAA,eAAe,EAAEP,KAAK,CAACQ,MAAN,CAAaC,KAHrB;AAIT;AACAC,IAAAA,UAAU,EAAE;AALH,GADK;AAQhBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,KAAK,EAAE,MADD;AAENL,IAAAA,eAAe,EAAE,MAFX;AAGNM,IAAAA,MAAM,EAAE;AAHF;AARQ,CAAlB,CADF;;AAgBA,MAAMC,YAAY,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACnB,6BAAC,iBAAD,EAAUA,KAAV,eACE,6BAAC,iBAAD,8BADF,CADF;;AAMA,MAAMC,MAAM,GAAIC,KAAD,IAAkB;AAC/B,QAAM;AAACN,IAAAA,MAAD;AAASO,IAAAA,KAAT;AAAgBC,IAAAA,yBAAhB;AAA2CC,IAAAA;AAA3C,MAA4DH,KAAlE;AAEA,QAAM;AACJjB,IAAAA,KADI;AAEJqB,IAAAA,OAAO,EAAE;AAACpB,MAAAA;AAAD;AAFL,MAGF,0CAHJ;AAKA,QAAM,CAACqB,UAAD,EAAaC,aAAb,IAA8B,qBAAqB,IAArB,CAApC;AAEA,wBAAU,MAAM;AACd,UAAMC,WAAW,GAAGzB,gBAAgB,CAACC,KAAD,EAAQC,YAAR,CAApC;;AACAsB,IAAAA,aAAa,CAACC,WAAD,CAAb;AACD,GAHD,EAGG,CAACxB,KAAD,EAAQC,YAAR,CAHH;;AAKA,MAAI,CAACqB,UAAL,EAAiB;AACf,WAAO,IAAP;AACD;;AAED,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEA,UAAU,CAAClB;AAAxB,kBACE,6BAAC,YAAD;AAAc,IAAA,KAAK,EAAEkB,UAAU,CAACX;AAAhC,IADF,EAEGO,KAAK,gBAAG,6BAAC,cAAD,EAAmBA,KAAnB,CAAH,GAAkC,IAF1C,CADF;AAMD,CAzBD;;eA2BeF,M","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View, StyleSheet, Text} from 'react-native';\nimport StackedSlides from '../../../organism/review-stacked-slides/index.native';\nimport {Theme} from '../../../variables/theme.native';\nimport {useTemplateContext} from '../template-context';\nimport {Props} from './prop-types';\n\nconst createStyleSheet = (theme: Theme, headerHeight: number) =>\n StyleSheet.create({\n container: {\n flex: 1,\n paddingTop: headerHeight,\n backgroundColor: theme.colors.white,\n // justifyContent: 'space-between',\n alignItems: 'center'\n },\n header: {\n width: '100%',\n backgroundColor: '#ded',\n height: 70\n }\n });\n\nconst ReviewHeader = ({style}) => (\n <View {...style}>\n <Text>review header @todo</Text>\n </View>\n);\n\nconst Slides = (props: Props) => {\n const {header, stack, reviewBackgroundAriaLabel, congratsProps} = props;\n\n const {\n theme,\n display: {headerHeight}\n } = useTemplateContext();\n\n const [styleSheet, setStylesheet] = useState<any | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme, headerHeight);\n setStylesheet(_stylesheet);\n }, [theme, headerHeight]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.container}>\n <ReviewHeader style={styleSheet.header} />\n {stack ? <StackedSlides {...stack} /> : null}\n </View>\n );\n};\n\nexport default Slides;\n"],"file":"index.native.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/player/prop-types.js"],"names":["PlayerReviewPropTypes","header","PropTypes","shape","ReviewHeaderPropTypes","stack","StackedSlidesPropTypes","reviewBackgroundAriaLabel","ReviewBackgroundPropTypes","congratsProps","ReviewCongratsPropTypes"],"mappings":";;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;AAEO,MAAMA,qBAAqB,GAAG;AACnCC,EAAAA,MAAM,EAAEC,mBAAUC,KAAV,CAAgBC,mBAAhB,CAD2B;AAEnCC,EAAAA,KAAK,EAAEH,mBAAUC,KAAV,CAAgBG,mBAAhB,CAF4B;AAGnCC,EAAAA,yBAAyB,EAAEC,oBAA0B,YAA1B,CAHQ;AAInCC,EAAAA,aAAa,EAAEP,mBAAUC,KAAV,CAAgBO,mBAAhB;AAJoB,CAA9B","sourcesContent":["import PropTypes from 'prop-types';\n\nimport ReviewCongratsPropTypes from '../../../organism/review-congrats/prop-types';\nimport ReviewBackgroundPropTypes from '../../../atom/review-background/prop-types';\nimport ReviewHeaderPropTypes from '../../../organism/review-header/prop-types';\nimport StackedSlidesPropTypes from '../../../organism/review-stacked-slides/prop-types';\n\nexport const PlayerReviewPropTypes = {\n header: PropTypes.shape(ReviewHeaderPropTypes),\n stack: PropTypes.shape(StackedSlidesPropTypes),\n reviewBackgroundAriaLabel: ReviewBackgroundPropTypes['aria-label'],\n congratsProps: PropTypes.shape(ReviewCongratsPropTypes)\n};\n"],"file":"prop-types.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/player/prop-types.ts"],"names":["PlayerReviewPropTypes","header","PropTypes","shape","ReviewHeaderPropTypes","stack","StackedSlidesPropTypes","reviewBackgroundAriaLabel","ReviewBackgroundPropTypes","congratsProps","ReviewCongratsPropTypes"],"mappings":";;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;AAEO,MAAMA,qBAAqB,GAAG;AACnCC,EAAAA,MAAM,EAAEC,mBAAUC,KAAV,CAAgBC,mBAAhB,CAD2B;AAEnCC,EAAAA,KAAK,EAAEH,mBAAUC,KAAV,CAAgBG,mBAAhB,CAF4B;AAGnCC,EAAAA,yBAAyB,EAAEC,oBAA0B,YAA1B,CAHQ;AAInCC,EAAAA,aAAa,EAAEP,mBAAUC,KAAV,CAAgBO,mBAAhB;AAJoB,CAA9B","sourcesContent":["import PropTypes from 'prop-types';\n\nimport ReviewCongratsPropTypes from '../../../organism/review-congrats/prop-types';\nimport ReviewBackgroundPropTypes from '../../../atom/review-background/prop-types';\nimport ReviewHeaderPropTypes from '../../../organism/review-header/prop-types';\nimport StackedSlidesPropTypes from '../../../organism/review-stacked-slides/prop-types';\n\nexport const PlayerReviewPropTypes = {\n header: PropTypes.shape(ReviewHeaderPropTypes),\n stack: PropTypes.shape(StackedSlidesPropTypes),\n reviewBackgroundAriaLabel: ReviewBackgroundPropTypes['aria-label'],\n congratsProps: PropTypes.shape(ReviewCongratsPropTypes)\n};\n\nexport type Props = PropTypes.InferProps<typeof PlayerReviewPropTypes>;\n"],"file":"prop-types.js"}
@@ -39,3 +39,10 @@
39
39
  top: 0;
40
40
  left: 0;
41
41
  }
42
+
43
+ /* ie fallback */
44
+ :-ms-fullscreen,
45
+ :root .congrats {
46
+ position: relative;
47
+ bottom: 20%;
48
+ }
@@ -19,8 +19,10 @@ const Context = (0, _react.createContext)({
19
19
  theme: _theme.default,
20
20
  translations: {},
21
21
  display: {
22
+ headerHeight: 67,
22
23
  statusBarHeight: 42
23
- }
24
+ },
25
+ store: {}
24
26
  });
25
27
 
26
28
  const useTemplateContext = () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["Context","theme","defaultTheme","translations","display","statusBarHeight","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;;;;AAAA;;AAGA;;;;;;;;;;AAgBA,MAAMA,OAAO,GAAG,0BAAc;AAC5BC,EAAAA,KAAK,EAAEC,cADqB;AAE5BC,EAAAA,YAAY,EAAE,EAFc;AAG5BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,eAAe,EAAE;AADV;AAHmB,CAAd,CAAhB;;AAQA,MAAMC,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAG,uBAAWP,OAAX,CAAhB;;AAEA,MAAI,CAACO,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD;;;;AAYA,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","sourcesContent":["import React, {createContext, useContext} from 'react';\nimport {Translations} from '../../types/translations';\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 translations: Translations;\n vibration?: Vibration;\n display: {\n statusBarHeight: number;\n };\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\nconst Context = createContext({\n theme: defaultTheme,\n translations: {},\n display: {\n statusBarHeight: 42\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\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\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","translations","display","headerHeight","statusBarHeight","store","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;;;;AAAA;;AAIA;;;;;;;;;;AAsBA,MAAMA,OAAO,GAAG,0BAAc;AAC5BC,EAAAA,KAAK,EAAEC,cADqB;AAE5BC,EAAAA,YAAY,EAAE,EAFc;AAG5BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,YAAY,EAAE,EADP;AAEPC,IAAAA,eAAe,EAAE;AAFV,GAHmB;AAO5BC,EAAAA,KAAK,EAAE;AAPqB,CAAd,CAAhB;;AAUA,MAAMC,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAG,uBAAWT,OAAX,CAAhB;;AAEA,MAAI,CAACS,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD;;;;AAYA,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","sourcesContent":["import React, {createContext, useContext} from 'react';\nimport {FocusedSelectId, HandleBlur, HandleFocus} from '../../types/app-review';\nimport {Translations} from '../../types/translations';\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 translations: Translations;\n vibration?: Vibration;\n display: {\n headerHeight: number;\n statusBarHeight: number;\n };\n store: {\n focusedSelectId?: FocusedSelectId;\n handleBlur?: HandleBlur;\n handleFocus?: HandleFocus;\n };\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\nconst Context = createContext({\n theme: defaultTheme,\n translations: {},\n display: {\n headerHeight: 67,\n statusBarHeight: 42\n },\n store: {}\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\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "10.22.24",
3
+ "version": "10.22.25-alpha.20+53128feee",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -140,5 +140,5 @@
140
140
  "webpack": "^4.43.0"
141
141
  },
142
142
  "author": "CoorpAcademy",
143
- "gitHead": "3b2b9c0d9d47e93f89c09351c1f79a20c07cefc3"
143
+ "gitHead": "53128feeea12505f6c7a46b94905bfade2afcecb"
144
144
  }