@coorpacademy/components 10.22.7 → 10.22.10

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 (121) hide show
  1. package/es/atom/choice/index.native.js +6 -3
  2. package/es/atom/choice/index.native.js.map +1 -1
  3. package/es/atom/resource-miniature/index.js +1 -2
  4. package/es/atom/resource-miniature/index.js.map +1 -1
  5. package/es/atom/resource-miniature/style.css +4 -0
  6. package/es/molecule/cm-popin/index.js +4 -2
  7. package/es/molecule/cm-popin/index.js.map +1 -1
  8. package/es/molecule/review-correction-popin/prop-types.js +0 -1
  9. package/es/molecule/review-correction-popin/prop-types.js.map +1 -1
  10. package/es/organism/review-congrats/style.css +1 -1
  11. package/es/organism/review-slide/index.js +194 -0
  12. package/es/organism/review-slide/index.js.map +1 -0
  13. package/es/organism/review-slide/prop-types.js +39 -0
  14. package/es/organism/review-slide/prop-types.js.map +1 -0
  15. package/es/organism/review-slide/style.css +173 -0
  16. package/es/organism/review-stacked-slides/index.js +74 -0
  17. package/es/organism/review-stacked-slides/index.js.map +1 -0
  18. package/es/organism/review-stacked-slides/prop-types.js +15 -0
  19. package/es/organism/review-stacked-slides/prop-types.js.map +1 -0
  20. package/es/organism/review-stacked-slides/style.css +174 -0
  21. package/es/template/app-player/player/slides/header/learner.css +4 -0
  22. package/es/template/app-player/player/slides/header/learner.js +2 -3
  23. package/es/template/app-player/player/slides/header/learner.js.map +1 -1
  24. package/es/template/app-player/player/slides/header/microlearning.css +4 -0
  25. package/es/template/app-player/player/slides/header/microlearning.js +1 -2
  26. package/es/template/app-player/player/slides/header/microlearning.js.map +1 -1
  27. package/es/template/app-player/player/slides/index.js +3 -4
  28. package/es/template/app-player/player/slides/index.js.map +1 -1
  29. package/es/template/app-player/player/slides/style.css +5 -0
  30. package/es/template/app-player/popin-correction/index.js +3 -4
  31. package/es/template/app-player/popin-correction/index.js.map +1 -1
  32. package/es/template/app-player/popin-correction/style.css +4 -0
  33. package/es/template/app-player/popin-end/summary.css +4 -0
  34. package/es/template/app-player/popin-end/summary.js +3 -4
  35. package/es/template/app-player/popin-end/summary.js.map +1 -1
  36. package/es/template/app-player/popin-header/index.js +3 -4
  37. package/es/template/app-player/popin-header/index.js.map +1 -1
  38. package/es/template/app-player/popin-header/style.css +4 -0
  39. package/es/template/app-review/index.js +7 -8
  40. package/es/template/app-review/index.js.map +1 -1
  41. package/es/template/app-review/index.native.js +6 -10
  42. package/es/template/app-review/index.native.js.map +1 -1
  43. package/es/template/app-review/player/index.js +36 -0
  44. package/es/template/app-review/player/index.js.map +1 -0
  45. package/es/template/app-review/{slides → player}/index.native.js +15 -13
  46. package/es/template/app-review/player/index.native.js.map +1 -0
  47. package/es/template/app-review/player/prop-types.js +12 -0
  48. package/es/template/app-review/player/prop-types.js.map +1 -0
  49. package/es/template/app-review/player/style.css +41 -0
  50. package/es/template/app-review/prop-types.js +3 -3
  51. package/es/template/app-review/prop-types.js.map +1 -1
  52. package/es/template/common/authors/index.js +1 -2
  53. package/es/template/common/authors/index.js.map +1 -1
  54. package/es/template/common/authors/style.css +4 -0
  55. package/lib/atom/choice/index.native.js +6 -3
  56. package/lib/atom/choice/index.native.js.map +1 -1
  57. package/lib/atom/resource-miniature/index.js +9 -11
  58. package/lib/atom/resource-miniature/index.js.map +1 -1
  59. package/lib/atom/resource-miniature/style.css +4 -0
  60. package/lib/molecule/cm-popin/index.js +4 -2
  61. package/lib/molecule/cm-popin/index.js.map +1 -1
  62. package/lib/molecule/review-correction-popin/prop-types.js +0 -1
  63. package/lib/molecule/review-correction-popin/prop-types.js.map +1 -1
  64. package/lib/organism/review-congrats/style.css +1 -1
  65. package/lib/organism/review-slide/index.js +217 -0
  66. package/lib/organism/review-slide/index.js.map +1 -0
  67. package/lib/organism/review-slide/prop-types.js +52 -0
  68. package/lib/organism/review-slide/prop-types.js.map +1 -0
  69. package/lib/organism/review-slide/style.css +173 -0
  70. package/lib/organism/review-stacked-slides/index.js +90 -0
  71. package/lib/organism/review-stacked-slides/index.js.map +1 -0
  72. package/lib/organism/review-stacked-slides/prop-types.js +29 -0
  73. package/lib/organism/review-stacked-slides/prop-types.js.map +1 -0
  74. package/lib/organism/review-stacked-slides/style.css +174 -0
  75. package/lib/template/app-player/player/slides/header/learner.css +4 -0
  76. package/lib/template/app-player/player/slides/header/learner.js +2 -4
  77. package/lib/template/app-player/player/slides/header/learner.js.map +1 -1
  78. package/lib/template/app-player/player/slides/header/microlearning.css +4 -0
  79. package/lib/template/app-player/player/slides/header/microlearning.js +1 -3
  80. package/lib/template/app-player/player/slides/header/microlearning.js.map +1 -1
  81. package/lib/template/app-player/player/slides/index.js +23 -25
  82. package/lib/template/app-player/player/slides/index.js.map +1 -1
  83. package/lib/template/app-player/player/slides/style.css +5 -0
  84. package/lib/template/app-player/popin-correction/index.js +20 -22
  85. package/lib/template/app-player/popin-correction/index.js.map +1 -1
  86. package/lib/template/app-player/popin-correction/style.css +4 -0
  87. package/lib/template/app-player/popin-end/summary.css +4 -0
  88. package/lib/template/app-player/popin-end/summary.js +3 -5
  89. package/lib/template/app-player/popin-end/summary.js.map +1 -1
  90. package/lib/template/app-player/popin-header/index.js +32 -34
  91. package/lib/template/app-player/popin-header/index.js.map +1 -1
  92. package/lib/template/app-player/popin-header/style.css +4 -0
  93. package/lib/template/app-review/index.js +6 -8
  94. package/lib/template/app-review/index.js.map +1 -1
  95. package/lib/template/app-review/index.native.js +6 -11
  96. package/lib/template/app-review/index.native.js.map +1 -1
  97. package/lib/template/app-review/player/index.js +51 -0
  98. package/lib/template/app-review/player/index.js.map +1 -0
  99. package/lib/template/app-review/{slides → player}/index.native.js +14 -12
  100. package/lib/template/app-review/player/index.native.js.map +1 -0
  101. package/lib/template/app-review/player/prop-types.js +25 -0
  102. package/lib/template/app-review/player/prop-types.js.map +1 -0
  103. package/lib/template/app-review/player/style.css +41 -0
  104. package/lib/template/app-review/prop-types.js +3 -3
  105. package/lib/template/app-review/prop-types.js.map +1 -1
  106. package/lib/template/common/authors/index.js +15 -17
  107. package/lib/template/common/authors/index.js.map +1 -1
  108. package/lib/template/common/authors/style.css +4 -0
  109. package/package.json +2 -2
  110. package/es/template/app-review/slides/index.js +0 -352
  111. package/es/template/app-review/slides/index.js.map +0 -1
  112. package/es/template/app-review/slides/index.native.js.map +0 -1
  113. package/es/template/app-review/slides/prop-types.js +0 -111
  114. package/es/template/app-review/slides/prop-types.js.map +0 -1
  115. package/es/template/app-review/slides/style.css +0 -409
  116. package/lib/template/app-review/slides/index.js +0 -385
  117. package/lib/template/app-review/slides/index.js.map +0 -1
  118. package/lib/template/app-review/slides/index.native.js.map +0 -1
  119. package/lib/template/app-review/slides/prop-types.js +0 -131
  120. package/lib/template/app-review/slides/prop-types.js.map +0 -1
  121. package/lib/template/app-review/slides/style.css +0 -409
@@ -0,0 +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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.PlayerReviewPropTypes = void 0;
5
+
6
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
+
8
+ var _propTypes2 = _interopRequireDefault(require("../../../organism/review-congrats/prop-types"));
9
+
10
+ var _propTypes3 = _interopRequireDefault(require("../../../atom/review-background/prop-types"));
11
+
12
+ var _propTypes4 = _interopRequireDefault(require("../../../organism/review-header/prop-types"));
13
+
14
+ var _propTypes5 = _interopRequireDefault(require("../../../organism/review-stacked-slides/prop-types"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ const PlayerReviewPropTypes = {
19
+ header: _propTypes.default.shape(_propTypes4.default),
20
+ stack: _propTypes.default.shape(_propTypes5.default),
21
+ reviewBackgroundAriaLabel: _propTypes3.default['aria-label'],
22
+ congratsProps: _propTypes.default.shape(_propTypes2.default)
23
+ };
24
+ exports.PlayerReviewPropTypes = PlayerReviewPropTypes;
25
+ //# sourceMappingURL=prop-types.js.map
@@ -0,0 +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"}
@@ -0,0 +1,41 @@
1
+ .playerReviewContainer {
2
+ position: relative;
3
+ display: flex;
4
+ flex-direction: column;
5
+ /* --- ie11 fallback --- */
6
+ height: 100%;
7
+ /* --------------------- */
8
+ height: min-content;
9
+ min-height: 832px;
10
+ }
11
+
12
+ /*
13
+ mozilla specific styling
14
+ - supports min-content but it calculates dynamic
15
+ flex child height differently than chromium browsers
16
+ */
17
+ @supports (-moz-appearance:none) {
18
+ div.playerReviewContainer {
19
+ height: 100%;
20
+ }
21
+ }
22
+
23
+ .reviewHeaderContainer {
24
+ width: 100%;
25
+ }
26
+
27
+ .congrats {
28
+ width: 100%;
29
+ height: 100%;
30
+ min-height: 832px;
31
+ position: absolute;
32
+ }
33
+
34
+ .playerBackground {
35
+ position: absolute;
36
+ display: block;
37
+ height: 100%;
38
+ min-height: 120vh;
39
+ top: 0;
40
+ left: 0;
41
+ }
@@ -11,7 +11,7 @@ var _onboarding = _interopRequireDefault(require("./onboarding"));
11
11
 
12
12
  var _skills = _interopRequireDefault(require("./skills"));
13
13
 
14
- var _slides = _interopRequireDefault(require("./slides"));
14
+ var _player = _interopRequireDefault(require("./player"));
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
@@ -21,14 +21,14 @@ const ViewNames = {
21
21
  skills: 'skills',
22
22
  onboarding: 'onboarding',
23
23
  slides: 'slides',
24
- default: 'loader'
24
+ loader: 'loader'
25
25
  };
26
26
  exports.ViewNames = ViewNames;
27
27
  var _default = {
28
28
  viewName: _propTypes.default.oneOf((0, _keys.default)(ViewNames)),
29
29
  onboarding: _propTypes.default.shape(_extends({}, _onboarding.default.propTypes)),
30
30
  skills: _propTypes.default.shape(_extends({}, _skills.default.propTypes)),
31
- slides: _propTypes.default.shape(_extends({}, _slides.default.propTypes))
31
+ slides: _propTypes.default.shape(_extends({}, _player.default.propTypes))
32
32
  };
33
33
  exports.default = _default;
34
34
  //# sourceMappingURL=prop-types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/prop-types.js"],"names":["ViewNames","skills","onboarding","slides","default","viewName","PropTypes","oneOf","shape","Onboarding","propTypes","Skills","Slides"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,MAAM,EAAE,QADe;AAEvBC,EAAAA,UAAU,EAAE,YAFW;AAGvBC,EAAAA,MAAM,EAAE,QAHe;AAIvBC,EAAAA,OAAO,EAAE;AAJc,CAAlB;;eAOQ;AACbC,EAAAA,QAAQ,EAAEC,mBAAUC,KAAV,CAAgB,mBAAKP,SAAL,CAAhB,CADG;AAEbE,EAAAA,UAAU,EAAEI,mBAAUE,KAAV,cAAoBC,oBAAWC,SAA/B,EAFC;AAGbT,EAAAA,MAAM,EAAEK,mBAAUE,KAAV,cAAoBG,gBAAOD,SAA3B,EAHK;AAIbP,EAAAA,MAAM,EAAEG,mBAAUE,KAAV,cAAoBI,gBAAOF,SAA3B;AAJK,C","sourcesContent":["import PropTypes from 'prop-types';\nimport keys from 'lodash/fp/keys';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Slides from './slides';\n\nexport const ViewNames = {\n skills: 'skills',\n onboarding: 'onboarding',\n slides: 'slides',\n default: 'loader'\n};\n\nexport default {\n viewName: PropTypes.oneOf(keys(ViewNames)),\n onboarding: PropTypes.shape({...Onboarding.propTypes}),\n skills: PropTypes.shape({...Skills.propTypes}),\n slides: PropTypes.shape({...Slides.propTypes})\n};\n"],"file":"prop-types.js"}
1
+ {"version":3,"sources":["../../../src/template/app-review/prop-types.js"],"names":["ViewNames","skills","onboarding","slides","loader","viewName","PropTypes","oneOf","shape","Onboarding","propTypes","Skills","Player"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,MAAM,EAAE,QADe;AAEvBC,EAAAA,UAAU,EAAE,YAFW;AAGvBC,EAAAA,MAAM,EAAE,QAHe;AAIvBC,EAAAA,MAAM,EAAE;AAJe,CAAlB;;eAOQ;AACbC,EAAAA,QAAQ,EAAEC,mBAAUC,KAAV,CAAgB,mBAAKP,SAAL,CAAhB,CADG;AAEbE,EAAAA,UAAU,EAAEI,mBAAUE,KAAV,cAAoBC,oBAAWC,SAA/B,EAFC;AAGbT,EAAAA,MAAM,EAAEK,mBAAUE,KAAV,cAAoBG,gBAAOD,SAA3B,EAHK;AAIbP,EAAAA,MAAM,EAAEG,mBAAUE,KAAV,cAAoBI,gBAAOF,SAA3B;AAJK,C","sourcesContent":["import PropTypes from 'prop-types';\nimport keys from 'lodash/fp/keys';\nimport Onboarding from './onboarding';\nimport Skills from './skills';\nimport Player from './player';\n\nexport const ViewNames = {\n skills: 'skills',\n onboarding: 'onboarding',\n slides: 'slides',\n loader: 'loader'\n};\n\nexport default {\n viewName: PropTypes.oneOf(keys(ViewNames)),\n onboarding: PropTypes.shape({...Onboarding.propTypes}),\n skills: PropTypes.shape({...Skills.propTypes}),\n slides: PropTypes.shape({...Player.propTypes})\n};\n"],"file":"prop-types.js"}
@@ -19,9 +19,7 @@ var _socialLink = _interopRequireDefault(require("../../../atom/social-link"));
19
19
 
20
20
  var _link = _interopRequireDefault(require("../../../atom/link"));
21
21
 
22
- var _style = require("../../../atom/label/style.css");
23
-
24
- var _style2 = _interopRequireDefault(require("./style.css"));
22
+ var _style = _interopRequireDefault(require("./style.css"));
25
23
 
26
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
25
 
@@ -70,35 +68,35 @@ class Authors extends _react.default.Component {
70
68
  })((sociallink, i) => /*#__PURE__*/_react.default.createElement("div", {
71
69
  key: i,
72
70
  "data-name": "link",
73
- className: _style2.default.link
71
+ className: _style.default.link
74
72
  }, /*#__PURE__*/_react.default.createElement(_socialLink.default, sociallink)), sociallinks);
75
73
 
76
74
  const authorSocial = socialView.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
77
- className: _style2.default.links
75
+ className: _style.default.links
78
76
  }, /*#__PURE__*/_react.default.createElement("span", null, socialTitle), socialView) : null;
79
77
  return /*#__PURE__*/_react.default.createElement("div", {
80
78
  "data-name": "authors",
81
- className: _style2.default.wrapper
79
+ className: _style.default.wrapper
82
80
  }, /*#__PURE__*/_react.default.createElement("div", {
83
- className: _style2.default.authorsWrapper
81
+ className: _style.default.authorsWrapper
84
82
  }, /*#__PURE__*/_react.default.createElement("div", {
85
83
  "data-name": "header",
86
- className: _style2.default.header
84
+ className: _style.default.header
87
85
  }, /*#__PURE__*/_react.default.createElement("div", {
88
86
  "data-name": "image",
89
- className: _style2.default.imgWrapper
87
+ className: _style.default.imgWrapper
90
88
  }, /*#__PURE__*/_react.default.createElement("img", {
91
89
  src: image
92
90
  })), /*#__PURE__*/_react.default.createElement("div", {
93
- className: _style2.default.descWrapper
91
+ className: _style.default.descWrapper
94
92
  }, /*#__PURE__*/_react.default.createElement("div", {
95
93
  "data-name": "title",
96
- className: _style2.default.title
94
+ className: _style.default.title
97
95
  }, title), /*#__PURE__*/_react.default.createElement("div", {
98
- className: _style2.default.linksWrapper
96
+ className: _style.default.linksWrapper
99
97
  }, /*#__PURE__*/_react.default.createElement("span", null, website), /*#__PURE__*/_react.default.createElement(_link.default, {
100
98
  "data-name": "linkSite",
101
- className: _style2.default.linksite,
99
+ className: _style.default.linksite,
102
100
  style: {
103
101
  color: defaultColor
104
102
  },
@@ -106,19 +104,19 @@ class Authors extends _react.default.Component {
106
104
  target: '_blank'
107
105
  }, urlcontent), authorSocial), /*#__PURE__*/_react.default.createElement("div", {
108
106
  "data-name": "description",
109
- className: fullDisplay ? _style2.default.desc : _style2.default.shortDesc
107
+ className: fullDisplay ? _style.default.desc : _style.default.shortDesc
110
108
  }, /*#__PURE__*/_react.default.createElement("div", {
111
- className: _style.innerHTML // eslint-disable-next-line react/no-danger
109
+ className: _style.default.innerHTML // eslint-disable-next-line react/no-danger
112
110
  ,
113
111
  dangerouslySetInnerHTML: {
114
112
  __html: description
115
113
  }
116
114
  })), /*#__PURE__*/_react.default.createElement("div", {
117
115
  "data-name": "more",
118
- className: _style2.default.toggle,
116
+ className: _style.default.toggle,
119
117
  onClick: this.handleToggleDisplay
120
118
  }, toggleLabel))), /*#__PURE__*/_react.default.createElement("div", {
121
- className: _style2.default.cardsTitle
119
+ className: _style.default.cardsTitle
122
120
  }, cardsTitle), /*#__PURE__*/_react.default.createElement(_cardsGrid.default, cards)));
123
121
  }
124
122
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/common/authors/index.js"],"names":["Authors","React","Component","constructor","props","context","state","fullDisplay","handleToggleDisplay","bind","setState","prevState","render","image","title","description","cards","cardsTitle","socialTitle","sociallinks","website","urlwebsite","urlcontent","translate","skin","defaultColor","toggleLabel","socialView","convert","cap","sociallink","i","style","link","authorSocial","length","links","wrapper","authorsWrapper","header","imgWrapper","descWrapper","linksWrapper","linksite","color","desc","shortDesc","innerHTML","__html","toggle","Provider","childContextTypes","propTypes","PropTypes","shape","CardsGrid","string","arrayOf","type"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, map} from 'lodash/fp';\nimport Provider from '../../../atom/provider';\nimport CardsGrid from '../../../organism/cards-grid';\nimport SocialLink from '../../../atom/social-link';\nimport Link from '../../../atom/link';\nimport {innerHTML} from '../../../atom/label/style.css';\nimport style from './style.css';\n\nclass Authors extends React.Component {\n static propTypes = {\n cards: PropTypes.shape(CardsGrid.propTypes),\n cardsTitle: PropTypes.string,\n image: PropTypes.string,\n title: PropTypes.string,\n website: PropTypes.string,\n urlcontent: PropTypes.string,\n urlwebsite: PropTypes.string,\n description: PropTypes.string,\n socialTitle: PropTypes.string,\n sociallinks: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.string,\n link: PropTypes.string\n })\n )\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props);\n this.state = {\n fullDisplay: false\n };\n this.handleToggleDisplay = this.handleToggleDisplay.bind(this);\n }\n\n handleToggleDisplay() {\n this.setState(prevState => ({\n fullDisplay: !prevState.fullDisplay\n }));\n }\n\n render() {\n const {\n image,\n title,\n description,\n cards,\n cardsTitle,\n socialTitle,\n sociallinks,\n website,\n urlwebsite,\n urlcontent\n } = this.props;\n const {fullDisplay} = this.state;\n\n const {translate, skin} = this.context;\n const defaultColor = getOr('#00B0FF', 'common.primary', skin);\n const toggleLabel = fullDisplay ? translate('See less') : translate('Show more');\n\n const socialView = map.convert({cap: false})(\n (sociallink, i) => (\n <div key={i} data-name=\"link\" className={style.link}>\n <SocialLink {...sociallink} />\n </div>\n ),\n sociallinks\n );\n\n const authorSocial =\n socialView.length > 0 ? (\n <div className={style.links}>\n <span>{socialTitle}</span>\n {socialView}\n </div>\n ) : null;\n\n return (\n <div data-name=\"authors\" className={style.wrapper}>\n <div className={style.authorsWrapper}>\n <div data-name=\"header\" className={style.header}>\n <div data-name=\"image\" className={style.imgWrapper}>\n <img src={image} />\n </div>\n <div className={style.descWrapper}>\n <div data-name=\"title\" className={style.title}>\n {title}\n </div>\n <div className={style.linksWrapper}>\n <span>{website}</span>\n <Link\n data-name=\"linkSite\"\n className={style.linksite}\n style={{\n color: defaultColor\n }}\n href={urlwebsite}\n target={'_blank'}\n >\n {urlcontent}\n </Link>\n {authorSocial}\n </div>\n <div data-name=\"description\" className={fullDisplay ? style.desc : style.shortDesc}>\n <div\n className={innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n </div>\n <div data-name=\"more\" className={style.toggle} onClick={this.handleToggleDisplay}>\n {toggleLabel}\n </div>\n </div>\n </div>\n <div className={style.cardsTitle}>{cardsTitle}</div>\n <CardsGrid {...cards} />\n </div>\n </div>\n );\n }\n}\n\nexport default Authors;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/common/authors/index.js"],"names":["Authors","React","Component","constructor","props","context","state","fullDisplay","handleToggleDisplay","bind","setState","prevState","render","image","title","description","cards","cardsTitle","socialTitle","sociallinks","website","urlwebsite","urlcontent","translate","skin","defaultColor","toggleLabel","socialView","convert","cap","sociallink","i","style","link","authorSocial","length","links","wrapper","authorsWrapper","header","imgWrapper","descWrapper","linksWrapper","linksite","color","desc","shortDesc","innerHTML","__html","toggle","Provider","childContextTypes","propTypes","PropTypes","shape","CardsGrid","string","arrayOf","type"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, map} from 'lodash/fp';\nimport Provider from '../../../atom/provider';\nimport CardsGrid from '../../../organism/cards-grid';\nimport SocialLink from '../../../atom/social-link';\nimport Link from '../../../atom/link';\nimport style from './style.css';\n\nclass Authors extends React.Component {\n static propTypes = {\n cards: PropTypes.shape(CardsGrid.propTypes),\n cardsTitle: PropTypes.string,\n image: PropTypes.string,\n title: PropTypes.string,\n website: PropTypes.string,\n urlcontent: PropTypes.string,\n urlwebsite: PropTypes.string,\n description: PropTypes.string,\n socialTitle: PropTypes.string,\n sociallinks: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.string,\n link: PropTypes.string\n })\n )\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props);\n this.state = {\n fullDisplay: false\n };\n this.handleToggleDisplay = this.handleToggleDisplay.bind(this);\n }\n\n handleToggleDisplay() {\n this.setState(prevState => ({\n fullDisplay: !prevState.fullDisplay\n }));\n }\n\n render() {\n const {\n image,\n title,\n description,\n cards,\n cardsTitle,\n socialTitle,\n sociallinks,\n website,\n urlwebsite,\n urlcontent\n } = this.props;\n const {fullDisplay} = this.state;\n\n const {translate, skin} = this.context;\n const defaultColor = getOr('#00B0FF', 'common.primary', skin);\n const toggleLabel = fullDisplay ? translate('See less') : translate('Show more');\n\n const socialView = map.convert({cap: false})(\n (sociallink, i) => (\n <div key={i} data-name=\"link\" className={style.link}>\n <SocialLink {...sociallink} />\n </div>\n ),\n sociallinks\n );\n\n const authorSocial =\n socialView.length > 0 ? (\n <div className={style.links}>\n <span>{socialTitle}</span>\n {socialView}\n </div>\n ) : null;\n\n return (\n <div data-name=\"authors\" className={style.wrapper}>\n <div className={style.authorsWrapper}>\n <div data-name=\"header\" className={style.header}>\n <div data-name=\"image\" className={style.imgWrapper}>\n <img src={image} />\n </div>\n <div className={style.descWrapper}>\n <div data-name=\"title\" className={style.title}>\n {title}\n </div>\n <div className={style.linksWrapper}>\n <span>{website}</span>\n <Link\n data-name=\"linkSite\"\n className={style.linksite}\n style={{\n color: defaultColor\n }}\n href={urlwebsite}\n target={'_blank'}\n >\n {urlcontent}\n </Link>\n {authorSocial}\n </div>\n <div data-name=\"description\" className={fullDisplay ? style.desc : style.shortDesc}>\n <div\n className={style.innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n </div>\n <div data-name=\"more\" className={style.toggle} onClick={this.handleToggleDisplay}>\n {toggleLabel}\n </div>\n </div>\n </div>\n <div className={style.cardsTitle}>{cardsTitle}</div>\n <CardsGrid {...cards} />\n </div>\n </div>\n );\n }\n}\n\nexport default Authors;\n"],"file":"index.js"}
@@ -137,6 +137,10 @@
137
137
  display: none;
138
138
  }
139
139
 
140
+ .innerHTML {
141
+ composes: innerHTML from '../../../atom/label/style.css';
142
+ }
143
+
140
144
  @media desktop {
141
145
  .wrapper {
142
146
  max-width: 1080px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "10.22.7",
3
+ "version": "10.22.10",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -138,5 +138,5 @@
138
138
  "webpack": "^4.43.0"
139
139
  },
140
140
  "author": "CoorpAcademy",
141
- "gitHead": "0581f6b96f948da672c274c4d233bc853981f4cc"
141
+ "gitHead": "508e3fdb30d727840bd9b13e9402c2970eb17731"
142
142
  }
@@ -1,352 +0,0 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- import React, { useState, useMemo, useEffect } from 'react';
4
- import classnames from 'classnames';
5
- import get from 'lodash/fp/get';
6
- import getOr from 'lodash/fp/getOr';
7
- import isNil from 'lodash/fp/isNil';
8
- import map from 'lodash/fp/map';
9
- import omit from 'lodash/fp/omit';
10
- import pipe from 'lodash/fp/pipe';
11
- import size from 'lodash/fp/size';
12
- import { ICON_VALUES } from '../../../atom/review-header-step-item';
13
- import ReviewBackground from '../../../atom/review-background';
14
- import ReviewCongrats from '../../../organism/review-congrats';
15
- import ReviewHeader from '../../../organism/review-header';
16
- import ReviewCorrectionPopin from '../../../molecule/review-correction-popin';
17
- import Answer from '../../../molecule/answer';
18
- import ButtonLink from '../../../atom/button-link';
19
- import style from './style.css';
20
- import { SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes } from './prop-types';
21
- const stylesByPosition = {
22
- 0: style.position0,
23
- 1: style.position1,
24
- 2: style.position2,
25
- 3: style.position3,
26
- 4: style.position4
27
- };
28
- export const TOTAL_SLIDES_STACK = 5;
29
- export const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;
30
-
31
- const getSlideAnimation = (action, position, hidden) => {
32
- switch (action) {
33
- /* istanbul ignore next */
34
- case 'unstack':
35
- return style.slideOutHideAndIn;
36
-
37
- /* istanbul ignore next */
38
-
39
- case 'restack':
40
- return style.slideOutAndIn;
41
-
42
- default:
43
- return hidden ? style.hiddenSlide : stylesByPosition[position];
44
- }
45
- };
46
-
47
- const Slide = ({
48
- slideNumber,
49
- slides,
50
- primarySkinColor,
51
- validate,
52
- validateSlide,
53
- finishedSlides,
54
- finishedSlidesSize,
55
- updateSlidesOnNext,
56
- updateReviewStatus,
57
- updateStepItemsOnNext,
58
- progression,
59
- correctionPopinProps
60
- }) => {
61
- const hidden = getOr(false, `${slideNumber}.hidden`, slides);
62
- const endReview = getOr(false, `${slideNumber}.endReview`, slides);
63
- const position = get(`${slideNumber}.position`, slides);
64
- const animationType = getOr(false, `${slideNumber}.animationType`, slides);
65
- const isSlideCorrect = getOr(null, `${slideNumber}.isCorrect`, slides);
66
- const questionText = get(`${slideNumber}.questionText`, slides);
67
- const answerUI = get(`${slideNumber}.answerUI`, slides);
68
- const validateLabel = getOr('', 'label', validate);
69
- const validateButtonProps = {
70
- customStyle: {
71
- backgroundColor: primarySkinColor
72
- },
73
-
74
- /*
75
- slide validation action, this will trigger the correction popin
76
- (with the useEffect that fires the dispatchers, if there is a nextContent content,
77
- it will be loaded here) but will not trigger any animations unless the endReview
78
- signal is received (all slides will disappear, also fired in a useEffect),
79
- if it is the last slide and the content needs to be different, then that update will
80
- be handled on the next slide logic but the content will be carried from here.
81
- */
82
- onClick: async () => {
83
- // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'
84
- await validateSlide();
85
- },
86
- 'aria-label': validateLabel,
87
- label: validateLabel,
88
- 'data-name': `slide-validate-button-${slideNumber}`,
89
- className: style.validateButton,
90
- disabled: !isNil(isSlideCorrect)
91
- };
92
- const klf = getOr({}, 'klf', correctionPopinProps);
93
- const information = getOr({
94
- label: '',
95
- message: ''
96
- }, 'information', correctionPopinProps);
97
- const next = get('next', correctionPopinProps);
98
- const successLabel = getOr('', 'successLabel', correctionPopinProps);
99
- const failureLabel = getOr('', 'failureLabel', correctionPopinProps);
100
- const _correctionPopinProps = {
101
- next: {
102
- /*
103
- next slide action, this will trigger the slides animations
104
- if it is the last slide AND the content needs to be different, then that update
105
- of the content will be handled here (and in the validate as it happens normally )
106
- from the content carried from the validate action.
107
- */
108
- onClick: () => {
109
- const exitNode = get('exitNode', progression);
110
- updateSlidesOnNext({
111
- slideNumber,
112
- newSlideContent: {
113
- hidden: !!isSlideCorrect,
114
- position: HIGHEST_INDEX - finishedSlidesSize,
115
- // to restack the slide
116
- animationType: isSlideCorrect ? 'unstack' : 'restack',
117
- isCorrect: isSlideCorrect,
118
- endReview: !!exitNode,
119
- answerUI,
120
- questionText
121
- },
122
- numberOfFinishedSlides: finishedSlidesSize
123
- });
124
- updateStepItemsOnNext({
125
- stepNumber: slideNumber,
126
- finishedSlides,
127
- current: finishedSlidesSize === HIGHEST_INDEX &&
128
- /* istanbul ignore next */
129
- !isSlideCorrect
130
- });
131
- if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');
132
- },
133
- label: next && next.label,
134
- 'data-name': `next-question-button-${slideNumber}`,
135
- 'aria-label': next && next['aria-label']
136
- },
137
- klf,
138
- information,
139
- type: isSlideCorrect ? 'right' : 'wrong',
140
- resultLabel: isSlideCorrect ? successLabel : failureLabel
141
- };
142
- const questionOrigin = 'From "Master Design Thinking to become more agile" course';
143
- const answerProps = get(['model', 'choices'], answerUI) ?
144
- /* istanbul ignore next */
145
- _extends(_extends({}, answerUI), {}, {
146
- model: _extends(_extends({}, answerUI.model), {}, {
147
- answers: answerUI.model.choices
148
- })
149
- }) : answerUI;
150
- return /*#__PURE__*/React.createElement("div", {
151
- key: `slide-${slideNumber}`,
152
- "data-name": `slide-${slideNumber}`,
153
- className: classnames(style.slideBase, getSlideAnimation(animationType, position, hidden), endReview ? style.endReview : null)
154
- }, answerUI && questionText ? /*#__PURE__*/React.createElement("div", {
155
- key: "content-container",
156
- className: style.slideContentContainer
157
- }, /*#__PURE__*/React.createElement("div", {
158
- key: "from-course",
159
- className: style.questionOrigin
160
- }, questionOrigin), /*#__PURE__*/React.createElement("div", {
161
- key: "title",
162
- className: style.question
163
- }, questionText), /*#__PURE__*/React.createElement("div", {
164
- key: "help",
165
- className: style.help
166
- }, answerUI.help), /*#__PURE__*/React.createElement("div", {
167
- key: "answer-container",
168
- className: style.answerContainer
169
- }, /*#__PURE__*/React.createElement(Answer, _extends({}, answerProps, {
170
- key: "answer"
171
- })))) : null, /*#__PURE__*/React.createElement("div", {
172
- key: "button-wrapper",
173
- className: style.validateButtonWrapper
174
- }, /*#__PURE__*/React.createElement(ButtonLink, validateButtonProps)), /*#__PURE__*/React.createElement("div", {
175
- className: isSlideCorrect ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper,
176
- style: _extends({}, finishedSlidesSize !== HIGHEST_INDEX && !isSlideCorrect && {
177
- display: 'none'
178
- })
179
- }, /*#__PURE__*/React.createElement(ReviewCorrectionPopin, _correctionPopinProps)));
180
- };
181
-
182
- Slide.propTypes = process.env.NODE_ENV !== "production" ? SlidePropTypes : {};
183
-
184
- const StackedSlides = ({
185
- slides,
186
- primarySkinColor,
187
- validate,
188
- validateSlide,
189
- finishedSlides,
190
- finishedSlidesSize,
191
- updateSlidesOnNext,
192
- updateReviewStatus,
193
- updateStepItemsOnNext,
194
- progression,
195
- correctionPopinProps
196
- }) => {
197
- const stackedSlides = []; // eslint-disable-next-line fp/no-loops
198
-
199
- for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {
200
- const slide = /*#__PURE__*/React.createElement(Slide, _extends({
201
- slideNumber,
202
- slides,
203
- primarySkinColor,
204
- validate,
205
- validateSlide,
206
- finishedSlides,
207
- finishedSlidesSize,
208
- updateSlidesOnNext,
209
- updateReviewStatus,
210
- updateStepItemsOnNext,
211
- progression,
212
- correctionPopinProps
213
- }, {
214
- key: slideNumber
215
- }));
216
- stackedSlides.push(slide);
217
- }
218
-
219
- return stackedSlides;
220
- };
221
-
222
- StackedSlides.propTypes = process.env.NODE_ENV !== "production" ? StackedSlidesPropTypes : {};
223
-
224
- const SlidesReview = ({
225
- headerProps,
226
- reviewBackgroundAriaLabel,
227
- validate,
228
- correctionPopinProps,
229
- slides,
230
- finishedSlides,
231
- stepItems,
232
- reviewStatus,
233
- congratsProps,
234
- validateSlide,
235
- updateSlidesOnValidation,
236
- updateSlidesOnNext,
237
- updateReviewStatus,
238
- updateStepItemsOnValidation,
239
- updateStepItemsOnNext,
240
- updateFinishedSlides,
241
- progression
242
- }, context) => {
243
- const {
244
- skin
245
- } = context;
246
- const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);
247
- const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [finishedSlides]);
248
- /*
249
- ||-------> the slides have an slightly longer lifespan than the "ongoing" review State,
250
- after reviewState changes to "finished" the slides don't have to unmount until the last
251
- slide-out animation is finished, the slides have to be unmounted to be RGAA complaint.
252
- (if they are only invisible -but- still mounted, then they will be found by the assisting
253
- tools & clutter them)
254
- */
255
-
256
- const [shouldMountSlides, updateShouldMountSlides] = useState(true);
257
- useEffect(
258
- /* istanbul ignore next */
259
- () => {
260
- const slideNumber = get('slideNumber', progression); // temporal fix, should check for new slides in the state && then update
261
-
262
- if (progression && slideNumber !== 0) {
263
- const hidden = getOr(false, `${slideNumber}.hidden`, slides);
264
- const endReview = getOr(false, `${slideNumber}.endReview`, slides);
265
- const position = get(`${slideNumber}.position`, slides);
266
- const isCorrect = get('isCorrect', progression);
267
- const exitNode = get('exitNode', progression);
268
- const nextContent = get('nextContent', progression);
269
- updateSlidesOnValidation({
270
- slideNumber,
271
- newSlideContent: {
272
- hidden,
273
- position,
274
- isCorrect,
275
- endReview: !!exitNode
276
- },
277
- numberOfFinishedSlides: finishedSlidesSize,
278
- nextContent
279
- });
280
- updateStepItemsOnValidation({
281
- stepNumber: slideNumber,
282
- icon: isCorrect ? ICON_VALUES.right : ICON_VALUES.wrong
283
- });
284
- if (isCorrect) updateFinishedSlides({
285
- slideNumber,
286
- value: true
287
- });
288
-
289
- if (endReview) {
290
- updateReviewStatus('finished');
291
- }
292
- }
293
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
294
- [progression]);
295
- useEffect(
296
- /* istanbul ignore next */
297
- () => {
298
- if (reviewStatus === 'finished') {
299
- setTimeout(() => updateShouldMountSlides(false), 2000);
300
- }
301
- }, [finishedSlidesSize, reviewStatus, updateReviewStatus]); // ||-------> transform the step items state to Array
302
-
303
- const stepItemsArray = useMemo(() => pipe(omit('slideNumbers'), map(stepItem => stepItem))(stepItems), [stepItems]);
304
-
305
- const _headerProps = _extends(_extends({}, headerProps), {}, {
306
- steps: stepItemsArray,
307
- key: 'review-header',
308
- hiddenSteps: reviewStatus !== 'ongoing'
309
- });
310
-
311
- return /*#__PURE__*/React.createElement("div", {
312
- key: "slides-revision-container",
313
- "data-name": "slides-revision-container",
314
- className: style.slidesRevisionContainer
315
- }, /*#__PURE__*/React.createElement("div", {
316
- key: "player-background-container",
317
- className: style.playerBackground
318
- }, /*#__PURE__*/React.createElement(ReviewBackground, {
319
- "aria-label": reviewBackgroundAriaLabel
320
- })), /*#__PURE__*/React.createElement("div", {
321
- key: "review-header-wrapper",
322
- className: style.reviewHeaderContainer
323
- }, /*#__PURE__*/React.createElement(ReviewHeader, _headerProps)), shouldMountSlides ? /*#__PURE__*/React.createElement("div", {
324
- key: "stacked-slides-container-y-overflow",
325
- className: style.stackedSlidesYAxisOverflowContainer
326
- }, /*#__PURE__*/React.createElement("div", {
327
- key: "stacked-slides-container",
328
- "data-name": "stacked-slides-container",
329
- className: style.stackedSlidesContainer
330
- }, /*#__PURE__*/React.createElement(StackedSlides, {
331
- slides,
332
- primarySkinColor,
333
- validate,
334
- validateSlide,
335
- finishedSlides,
336
- finishedSlidesSize,
337
- updateSlidesOnNext,
338
- updateReviewStatus,
339
- updateStepItemsOnNext,
340
- progression,
341
- correctionPopinProps
342
- }))) :
343
- /* istanbul ignore next */
344
- null, reviewStatus === 'finished' ? /*#__PURE__*/React.createElement("div", {
345
- className: style.congrats,
346
- "data-name": "congrats-container"
347
- }, /*#__PURE__*/React.createElement(ReviewCongrats, congratsProps)) : null);
348
- };
349
-
350
- SlidesReview.propTypes = process.env.NODE_ENV !== "production" ? SlidesReviewPropTypes : {};
351
- export default SlidesReview;
352
- //# sourceMappingURL=index.js.map