@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/resource-miniature/index.js"],"names":["TYPES","pdf","style","icon","PDFIcon","audio","PodcastIcon","video","PlayIcon","ResourceMiniature","props","context","skin","type","description","poster","onClick","handleOnClick","selected","descriptionClassName","selectedDescription","white","primary","posterOutlineColor","Icon","posterWrapper","borderColor","backgroundImage","innerHTML","__html","propTypes","PropTypes","oneOf","bool","string","func","contextTypes","Provider","childContextTypes"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,KAAK,GAAG;AACZC,EAAAA,GAAG,EAAE;AAACC,IAAAA,KAAK,EAAEA,gBAAMD,GAAd;AAAmBE,IAAAA,IAAI,EAAEC;AAAzB,GADO;AAEZC,EAAAA,KAAK,EAAE;AAACH,IAAAA,KAAK,EAAEA,gBAAMG,KAAd;AAAqBF,IAAAA,IAAI,EAAEG;AAA3B,GAFK;AAGZC,EAAAA,KAAK,EAAE;AAACL,IAAAA,KAAK,EAAEA,gBAAMK,KAAd;AAAqBJ,IAAAA,IAAI,EAAEK;AAA3B;AAHK,CAAd;;AAMA,MAAMC,iBAAiB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAC5C,QAAM;AAACC,IAAAA;AAAD,MAASD,OAAf;AACA,QAAM;AAACE,IAAAA,IAAD;AAAOC,IAAAA,WAAP;AAAoBC,IAAAA,MAApB;AAA4BC,IAAAA,OAAO,EAAEC,aAArC;AAAoDC,IAAAA,QAAQ,GAAG;AAA/D,MAAwER,KAA9E;AACA,QAAMS,oBAAoB,GAAGD,QAAQ,GAAGhB,gBAAMkB,mBAAT,GAA+BlB,gBAAMY,WAA1E;AACA,QAAMO,KAAK,GAAG,mBAAI,cAAJ,EAAoBT,IAApB,CAAd;AACA,QAAMU,OAAO,GAAG,mBAAI,gBAAJ,EAAsBV,IAAtB,CAAhB;AACA,QAAMW,kBAAkB,GAAGL,QAAQ,GAAGI,OAAH,GAAaD,KAAhD;AACA,QAAMG,IAAI,GAAGxB,KAAK,CAACa,IAAD,CAAL,CAAYV,IAAzB;AACA,sBACE;AAAK,IAAA,SAAS,EAAEH,KAAK,CAACa,IAAD,CAAL,CAAYX,KAA5B;AAAmC,IAAA,OAAO,EAAEe,aAA5C;AAA2D,iBAAWJ;AAAtE,kBACE;AAAK,IAAA,SAAS,EAAEX,gBAAMuB,aAAtB;AAAqC,IAAA,KAAK,EAAE;AAACC,MAAAA,WAAW,EAAEH;AAAd;AAA5C,kBACE;AAAK,IAAA,SAAS,EAAErB,gBAAMa,MAAtB;AAA8B,IAAA,KAAK,EAAE;AAACY,MAAAA,eAAe,EAAG,OAAMZ,MAAO;AAAhC;AAArC,IADF,EAEG,CAACG,QAAD,gBAAY,6BAAC,IAAD;AAAM,IAAA,KAAK,EAAEG,KAAb;AAAoB,IAAA,SAAS,EAAEnB,gBAAMC;AAArC,IAAZ,GAA4D,IAF/D,CADF,eAKE;AACE,IAAA,SAAS,EAAE,yBAAWgB,oBAAX,EAAiCS,gBAAjC,CADb,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAEf;AAAT;AAH3B,IALF,CADF;AAaD,CArBD;;AAuBAL,iBAAiB,CAACqB,SAAlB,2CAA8B;AAC5BjB,EAAAA,IAAI,EAAEkB,mBAAUC,KAAV,CAAgB,oBAAKhC,KAAL,CAAhB,CADsB;AAE5BkB,EAAAA,QAAQ,EAAEa,mBAAUE,IAFQ;AAG5BnB,EAAAA,WAAW,EAAEiB,mBAAUG,MAHK;AAI5BnB,EAAAA,MAAM,EAAEgB,mBAAUG,MAJU;AAK5BlB,EAAAA,OAAO,EAAEe,mBAAUI;AALS,CAA9B;AAQA1B,iBAAiB,CAAC2B,YAAlB,GAAiC;AAC/BxB,EAAAA,IAAI,EAAEyB,kBAASC,iBAAT,CAA2B1B;AADF,CAAjC;eAIeH,iB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, keys} from 'lodash/fp';\nimport {\n NovaSolidAudioAudioControlPlay as PlayIcon,\n NovaLineFilesOfficeFileOfficePdf as PDFIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Provider from '../provider';\nimport {innerHTML} from '../label/style.css';\nimport style from './style.css';\n\nconst TYPES = {\n pdf: {style: style.pdf, icon: PDFIcon},\n audio: {style: style.audio, icon: PodcastIcon},\n video: {style: style.video, icon: PlayIcon}\n};\n\nconst ResourceMiniature = (props, context) => {\n const {skin} = context;\n const {type, description, poster, onClick: handleOnClick, selected = false} = props;\n const descriptionClassName = selected ? style.selectedDescription : style.description;\n const white = get('common.white', skin);\n const primary = get('common.primary', skin);\n const posterOutlineColor = selected ? primary : white;\n const Icon = TYPES[type].icon;\n return (\n <div className={TYPES[type].style} onClick={handleOnClick} data-type={type}>\n <div className={style.posterWrapper} style={{borderColor: posterOutlineColor}}>\n <div className={style.poster} style={{backgroundImage: `url(${poster})`}} />\n {!selected ? <Icon color={white} className={style.icon} /> : null}\n </div>\n <div\n className={classnames(descriptionClassName, innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n </div>\n );\n};\n\nResourceMiniature.propTypes = {\n type: PropTypes.oneOf(keys(TYPES)),\n selected: PropTypes.bool,\n description: PropTypes.string,\n poster: PropTypes.string,\n onClick: PropTypes.func\n};\n\nResourceMiniature.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default ResourceMiniature;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/resource-miniature/index.js"],"names":["TYPES","pdf","style","icon","PDFIcon","audio","PodcastIcon","video","PlayIcon","ResourceMiniature","props","context","skin","type","description","poster","onClick","handleOnClick","selected","descriptionClassName","selectedDescription","white","primary","posterOutlineColor","Icon","posterWrapper","borderColor","backgroundImage","innerHTML","__html","propTypes","PropTypes","oneOf","bool","string","func","contextTypes","Provider","childContextTypes"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;;;AAEA,MAAMA,KAAK,GAAG;AACZC,EAAAA,GAAG,EAAE;AAACC,IAAAA,KAAK,EAAEA,eAAMD,GAAd;AAAmBE,IAAAA,IAAI,EAAEC;AAAzB,GADO;AAEZC,EAAAA,KAAK,EAAE;AAACH,IAAAA,KAAK,EAAEA,eAAMG,KAAd;AAAqBF,IAAAA,IAAI,EAAEG;AAA3B,GAFK;AAGZC,EAAAA,KAAK,EAAE;AAACL,IAAAA,KAAK,EAAEA,eAAMK,KAAd;AAAqBJ,IAAAA,IAAI,EAAEK;AAA3B;AAHK,CAAd;;AAMA,MAAMC,iBAAiB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAC5C,QAAM;AAACC,IAAAA;AAAD,MAASD,OAAf;AACA,QAAM;AAACE,IAAAA,IAAD;AAAOC,IAAAA,WAAP;AAAoBC,IAAAA,MAApB;AAA4BC,IAAAA,OAAO,EAAEC,aAArC;AAAoDC,IAAAA,QAAQ,GAAG;AAA/D,MAAwER,KAA9E;AACA,QAAMS,oBAAoB,GAAGD,QAAQ,GAAGhB,eAAMkB,mBAAT,GAA+BlB,eAAMY,WAA1E;AACA,QAAMO,KAAK,GAAG,mBAAI,cAAJ,EAAoBT,IAApB,CAAd;AACA,QAAMU,OAAO,GAAG,mBAAI,gBAAJ,EAAsBV,IAAtB,CAAhB;AACA,QAAMW,kBAAkB,GAAGL,QAAQ,GAAGI,OAAH,GAAaD,KAAhD;AACA,QAAMG,IAAI,GAAGxB,KAAK,CAACa,IAAD,CAAL,CAAYV,IAAzB;AACA,sBACE;AAAK,IAAA,SAAS,EAAEH,KAAK,CAACa,IAAD,CAAL,CAAYX,KAA5B;AAAmC,IAAA,OAAO,EAAEe,aAA5C;AAA2D,iBAAWJ;AAAtE,kBACE;AAAK,IAAA,SAAS,EAAEX,eAAMuB,aAAtB;AAAqC,IAAA,KAAK,EAAE;AAACC,MAAAA,WAAW,EAAEH;AAAd;AAA5C,kBACE;AAAK,IAAA,SAAS,EAAErB,eAAMa,MAAtB;AAA8B,IAAA,KAAK,EAAE;AAACY,MAAAA,eAAe,EAAG,OAAMZ,MAAO;AAAhC;AAArC,IADF,EAEG,CAACG,QAAD,gBAAY,6BAAC,IAAD;AAAM,IAAA,KAAK,EAAEG,KAAb;AAAoB,IAAA,SAAS,EAAEnB,eAAMC;AAArC,IAAZ,GAA4D,IAF/D,CADF,eAKE;AACE,IAAA,SAAS,EAAE,yBAAWgB,oBAAX,EAAiCjB,eAAM0B,SAAvC,CADb,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAEf;AAAT;AAH3B,IALF,CADF;AAaD,CArBD;;AAuBAL,iBAAiB,CAACqB,SAAlB,2CAA8B;AAC5BjB,EAAAA,IAAI,EAAEkB,mBAAUC,KAAV,CAAgB,oBAAKhC,KAAL,CAAhB,CADsB;AAE5BkB,EAAAA,QAAQ,EAAEa,mBAAUE,IAFQ;AAG5BnB,EAAAA,WAAW,EAAEiB,mBAAUG,MAHK;AAI5BnB,EAAAA,MAAM,EAAEgB,mBAAUG,MAJU;AAK5BlB,EAAAA,OAAO,EAAEe,mBAAUI;AALS,CAA9B;AAQA1B,iBAAiB,CAAC2B,YAAlB,GAAiC;AAC/BxB,EAAAA,IAAI,EAAEyB,kBAASC,iBAAT,CAA2B1B;AADF,CAAjC;eAIeH,iB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, keys} from 'lodash/fp';\nimport {\n NovaSolidAudioAudioControlPlay as PlayIcon,\n NovaLineFilesOfficeFileOfficePdf as PDFIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Provider from '../provider';\nimport style from './style.css';\n\nconst TYPES = {\n pdf: {style: style.pdf, icon: PDFIcon},\n audio: {style: style.audio, icon: PodcastIcon},\n video: {style: style.video, icon: PlayIcon}\n};\n\nconst ResourceMiniature = (props, context) => {\n const {skin} = context;\n const {type, description, poster, onClick: handleOnClick, selected = false} = props;\n const descriptionClassName = selected ? style.selectedDescription : style.description;\n const white = get('common.white', skin);\n const primary = get('common.primary', skin);\n const posterOutlineColor = selected ? primary : white;\n const Icon = TYPES[type].icon;\n return (\n <div className={TYPES[type].style} onClick={handleOnClick} data-type={type}>\n <div className={style.posterWrapper} style={{borderColor: posterOutlineColor}}>\n <div className={style.poster} style={{backgroundImage: `url(${poster})`}} />\n {!selected ? <Icon color={white} className={style.icon} /> : null}\n </div>\n <div\n className={classnames(descriptionClassName, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n </div>\n );\n};\n\nResourceMiniature.propTypes = {\n type: PropTypes.oneOf(keys(TYPES)),\n selected: PropTypes.bool,\n description: PropTypes.string,\n poster: PropTypes.string,\n onClick: PropTypes.func\n};\n\nResourceMiniature.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default ResourceMiniature;\n"],"file":"index.js"}
@@ -75,3 +75,7 @@
75
75
  flex: 1 0 52px;
76
76
  }
77
77
  }
78
+
79
+ .innerHTML {
80
+ composes: innerHTML from '../label/style.css';
81
+ }
@@ -90,7 +90,8 @@ const CMPopin = props => {
90
90
  theme,
91
91
  details,
92
92
  requiredSelection,
93
- disabled
93
+ disabled,
94
+ id
94
95
  } = el;
95
96
  return /*#__PURE__*/_react.default.createElement("div", {
96
97
  key: index,
@@ -104,7 +105,8 @@ const CMPopin = props => {
104
105
  theme,
105
106
  details,
106
107
  requiredSelection,
107
- disabled
108
+ disabled,
109
+ id
108
110
  }));
109
111
  })(listBtnSwicth);
110
112
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","logo","AlertDiamond","WindowUpload","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","renderHeader","style","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","map","convert","cap","el","type","title","value","onChange","titlePosition","theme","details","requiredSelection","disabled","background","popinCookie","popin","popinHeader","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","propTypes","PropTypes","string","oneOf","shape","func","bool","boolean","arrayOf","InputSwitch"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth\n } = props;\n\n const logo = {\n AlertDiamond,\n WindowUpload\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n const renderHeader = () => {\n if (header) return <img className={style.headerBackground} src={header} />;\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n return null;\n };\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={mode === 'cookie' ? style.popinCookie : style.popin}>\n <header className={style.popinHeader}>\n {renderHeader()}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n <div className={style.titleContainer}>\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={'cm-popin-content'}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {renderBtnSwitch()}\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={'cm-popin-cta'}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = {\n content: PropTypes.string,\n mode: PropTypes.oneOf(['alert', 'information', 'cookie']),\n header: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.bool,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary'])\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.boolean\n }),\n thirdButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.boolean\n }),\n onClose: PropTypes.func,\n icon: PropTypes.string,\n backgroundImageUrl: PropTypes.string,\n descriptionText: PropTypes.string,\n cookieTitle: PropTypes.string,\n descriptionBtnTxt: PropTypes.string,\n listBtnSwicth: PropTypes.arrayOf(PropTypes.shape(InputSwitch.propTypes))\n};\n\nexport default CMPopin;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","logo","AlertDiamond","WindowUpload","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","renderHeader","style","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","map","convert","cap","el","type","title","value","onChange","titlePosition","theme","details","requiredSelection","disabled","id","background","popinCookie","popin","popinHeader","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","propTypes","PropTypes","string","oneOf","shape","func","bool","boolean","arrayOf","InputSwitch"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth\n } = props;\n\n const logo = {\n AlertDiamond,\n WindowUpload\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n const renderHeader = () => {\n if (header) return <img className={style.headerBackground} src={header} />;\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n return null;\n };\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={mode === 'cookie' ? style.popinCookie : style.popin}>\n <header className={style.popinHeader}>\n {renderHeader()}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n <div className={style.titleContainer}>\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={'cm-popin-content'}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {renderBtnSwitch()}\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={'cm-popin-cta'}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = {\n content: PropTypes.string,\n mode: PropTypes.oneOf(['alert', 'information', 'cookie']),\n header: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.bool,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary'])\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.boolean\n }),\n thirdButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.boolean\n }),\n onClose: PropTypes.func,\n icon: PropTypes.string,\n backgroundImageUrl: PropTypes.string,\n descriptionText: PropTypes.string,\n cookieTitle: PropTypes.string,\n descriptionBtnTxt: PropTypes.string,\n listBtnSwicth: PropTypes.arrayOf(PropTypes.shape(InputSwitch.propTypes))\n};\n\nexport default CMPopin;\n"],"file":"index.js"}
@@ -22,7 +22,6 @@ var _default = {
22
22
  }),
23
23
  klf: _propTypes.default.shape({
24
24
  label: _propTypes.default.string,
25
- onClick: _propTypes.default.func,
26
25
  tooltip: _propTypes.default.string
27
26
  })
28
27
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/review-correction-popin/prop-types.js"],"names":["type","PropTypes","oneOf","resultLabel","string","information","shape","label","message","next","onClick","func","klf","tooltip"],"mappings":";;;;;AAAA;;;;eAEe;AACbA,EAAAA,IAAI,EAAEC,mBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,OAAV,CAAhB,CADO;AAEbC,EAAAA,WAAW,EAAEF,mBAAUG,MAFV;AAGbC,EAAAA,WAAW,EAAEJ,mBAAUK,KAAV,CAAgB;AAC3BC,IAAAA,KAAK,EAAEN,mBAAUG,MADU;AAE3BI,IAAAA,OAAO,EAAEP,mBAAUG;AAFQ,GAAhB,CAHA;AAObK,EAAAA,IAAI,EAAER,mBAAUK,KAAV,CAAgB;AACpBC,IAAAA,KAAK,EAAEN,mBAAUG,MADG;AAEpBM,IAAAA,OAAO,EAAET,mBAAUU,IAFC;AAGpB,iBAAaV,mBAAUG,MAHH;AAIpB,kBAAcH,mBAAUG;AAJJ,GAAhB,CAPO;AAabQ,EAAAA,GAAG,EAAEX,mBAAUK,KAAV,CAAgB;AACnBC,IAAAA,KAAK,EAAEN,mBAAUG,MADE;AAEnBM,IAAAA,OAAO,EAAET,mBAAUU,IAFA;AAGnBE,IAAAA,OAAO,EAAEZ,mBAAUG;AAHA,GAAhB;AAbQ,C","sourcesContent":["import PropTypes from 'prop-types';\n\nexport default {\n type: PropTypes.oneOf(['right', 'wrong']),\n resultLabel: PropTypes.string,\n information: PropTypes.shape({\n label: PropTypes.string,\n message: PropTypes.string\n }),\n next: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n 'data-name': PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n klf: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n tooltip: PropTypes.string\n })\n};\n"],"file":"prop-types.js"}
1
+ {"version":3,"sources":["../../../src/molecule/review-correction-popin/prop-types.js"],"names":["type","PropTypes","oneOf","resultLabel","string","information","shape","label","message","next","onClick","func","klf","tooltip"],"mappings":";;;;;AAAA;;;;eAEe;AACbA,EAAAA,IAAI,EAAEC,mBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,OAAV,CAAhB,CADO;AAEbC,EAAAA,WAAW,EAAEF,mBAAUG,MAFV;AAGbC,EAAAA,WAAW,EAAEJ,mBAAUK,KAAV,CAAgB;AAC3BC,IAAAA,KAAK,EAAEN,mBAAUG,MADU;AAE3BI,IAAAA,OAAO,EAAEP,mBAAUG;AAFQ,GAAhB,CAHA;AAObK,EAAAA,IAAI,EAAER,mBAAUK,KAAV,CAAgB;AACpBC,IAAAA,KAAK,EAAEN,mBAAUG,MADG;AAEpBM,IAAAA,OAAO,EAAET,mBAAUU,IAFC;AAGpB,iBAAaV,mBAAUG,MAHH;AAIpB,kBAAcH,mBAAUG;AAJJ,GAAhB,CAPO;AAabQ,EAAAA,GAAG,EAAEX,mBAAUK,KAAV,CAAgB;AACnBC,IAAAA,KAAK,EAAEN,mBAAUG,MADE;AAEnBS,IAAAA,OAAO,EAAEZ,mBAAUG;AAFA,GAAhB;AAbQ,C","sourcesContent":["import PropTypes from 'prop-types';\n\nexport default {\n type: PropTypes.oneOf(['right', 'wrong']),\n resultLabel: PropTypes.string,\n information: PropTypes.shape({\n label: PropTypes.string,\n message: PropTypes.string\n }),\n next: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n 'data-name': PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n klf: PropTypes.shape({\n label: PropTypes.string,\n tooltip: PropTypes.string\n })\n};\n"],"file":"prop-types.js"}
@@ -277,7 +277,7 @@ _:-ms-fullscreen,
277
277
  display: flex;
278
278
  flex-direction: column;
279
279
  margin-top: 25px;
280
- width: 90%;
280
+ max-width: 335px;
281
281
  }
282
282
 
283
283
  .buttonRevise {
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+
12
+ var _get = _interopRequireDefault(require("lodash/fp/get"));
13
+
14
+ var _getOr = _interopRequireDefault(require("lodash/fp/getOr"));
15
+
16
+ var _answer = _interopRequireDefault(require("../../molecule/answer"));
17
+
18
+ var _buttonLink = _interopRequireDefault(require("../../atom/button-link"));
19
+
20
+ var _loader = _interopRequireDefault(require("../../atom/loader"));
21
+
22
+ var _provider = _interopRequireDefault(require("../../atom/provider"));
23
+
24
+ var _reviewCorrectionPopin = _interopRequireDefault(require("../../molecule/review-correction-popin"));
25
+
26
+ var _propTypes2 = _interopRequireDefault(require("./prop-types"));
27
+
28
+ var _style = _interopRequireDefault(require("./style.css"));
29
+
30
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
+
32
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
33
+
34
+ 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; }
35
+
36
+ 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); }
37
+
38
+ const CorrectionPopin = ({
39
+ correctionPopinProps,
40
+ slideIndex,
41
+ showCorrectionPopin,
42
+ animateCorrectionPopin
43
+ }) => {
44
+ if (!showCorrectionPopin) return null;
45
+ const klf = (0, _getOr.default)({}, 'klf', correctionPopinProps);
46
+ const information = (0, _getOr.default)({
47
+ label: '',
48
+ message: ''
49
+ }, 'information', correctionPopinProps);
50
+ const next = (0, _get.default)('next', correctionPopinProps);
51
+ const _correctionPopinProps = {
52
+ next: {
53
+ onClick: () => {
54
+ // eslint-disable-next-line no-console
55
+ console.log('Next Slide');
56
+ },
57
+ label: next && next.label,
58
+ 'data-name': `next-question-button-${slideIndex}`,
59
+ 'aria-label': next && next['aria-label']
60
+ },
61
+ klf,
62
+ information,
63
+ type: correctionPopinProps.type,
64
+ resultLabel: correctionPopinProps.resultLabel
65
+ };
66
+ return /*#__PURE__*/_react.default.createElement("div", {
67
+ className: (0, _classnames.default)(_style.default.correctionPopinWrapper, animateCorrectionPopin ? _style.default.popinAnimation : null)
68
+ }, /*#__PURE__*/_react.default.createElement(_reviewCorrectionPopin.default, _correctionPopinProps));
69
+ };
70
+
71
+ CorrectionPopin.propTypes = process.env.NODE_ENV !== "production" ? {
72
+ slideIndex: _propTypes.default.string,
73
+ showCorrectionPopin: _propTypes.default.bool,
74
+ animateCorrectionPopin: _propTypes.default.bool,
75
+ correctionPopinProps: _propTypes2.default.correctionPopinProps
76
+ } : {};
77
+
78
+ const ValidateButton = ({
79
+ slideIndex,
80
+ validateButton,
81
+ primarySkinColor
82
+ }) => {
83
+ const {
84
+ label,
85
+ onClick,
86
+ disabled
87
+ } = validateButton;
88
+ const validateButtonProps = {
89
+ type: 'primary',
90
+ label,
91
+ 'aria-label': label,
92
+ 'data-name': `slide-validate-button-${slideIndex}`,
93
+ onClick,
94
+ disabled,
95
+ className: _style.default.validateButton,
96
+ customStyle: {
97
+ backgroundColor: primarySkinColor
98
+ }
99
+ /*
100
+ slide validation action, this will trigger the correction popin
101
+ (with the useEffect that fires the dispatchers, if there is a nextContent content,
102
+ it will be loaded here) but will not trigger any animations unless the endReview
103
+ signal is received (all slide will disappear, also fired in a useEffect),
104
+ if it is the last slide and the content needs to be different, then that update will
105
+ be handled on the next slide logic but the content will be carried from here.
106
+ onClick: async () => {
107
+ // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'
108
+ await validateSlide();
109
+ },
110
+ */
111
+
112
+ };
113
+ return /*#__PURE__*/_react.default.createElement("div", {
114
+ key: "button-wrapper",
115
+ className: _style.default.validateButtonWrapper
116
+ }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, validateButtonProps));
117
+ };
118
+
119
+ ValidateButton.propTypes = process.env.NODE_ENV !== "production" ? {
120
+ slideIndex: _propTypes.default.string,
121
+ validateButton: _propTypes2.default.validateButton,
122
+ primarySkinColor: _propTypes.default.string
123
+ } : {};
124
+
125
+ const QuestionContainer = props => {
126
+ const {
127
+ answerUI,
128
+ questionText,
129
+ questionOrigin
130
+ } = props;
131
+ if (!answerUI || !questionText) return null;
132
+ const answerProps = (0, _get.default)(['model', 'choices'], answerUI) ?
133
+ /* istanbul ignore next */
134
+ _extends(_extends({}, answerUI), {}, {
135
+ model: _extends(_extends({}, answerUI.model), {}, {
136
+ answers: answerUI.model.choices
137
+ })
138
+ }) : answerUI;
139
+ return /*#__PURE__*/_react.default.createElement("div", {
140
+ key: "content-container",
141
+ className: _style.default.slideContentContainer
142
+ }, /*#__PURE__*/_react.default.createElement("div", {
143
+ key: "from-course",
144
+ className: _style.default.questionOrigin
145
+ }, questionOrigin), /*#__PURE__*/_react.default.createElement("div", {
146
+ key: "title",
147
+ className: _style.default.question
148
+ }, questionText), /*#__PURE__*/_react.default.createElement("div", {
149
+ key: "help",
150
+ className: _style.default.help
151
+ }, (0, _get.default)('help', answerUI)), /*#__PURE__*/_react.default.createElement("div", {
152
+ key: "answer-container",
153
+ className: _style.default.answerContainer
154
+ }, /*#__PURE__*/_react.default.createElement(_answer.default, _extends({}, answerProps, {
155
+ key: "answer"
156
+ }))));
157
+ };
158
+
159
+ QuestionContainer.propTypes = process.env.NODE_ENV !== "production" ? {
160
+ answerUI: _propTypes.default.shape(_propTypes2.default.slide.answerUI),
161
+ questionText: _propTypes.default.string,
162
+ questionOrigin: _propTypes.default.string
163
+ } : {};
164
+
165
+ const Slide = (props, context) => {
166
+ const {
167
+ slide,
168
+ validateButton,
169
+ correctionPopinProps,
170
+ slideIndex = '0'
171
+ } = props;
172
+ const {
173
+ skin
174
+ } = context;
175
+ const primarySkinColor = (0, _react.useMemo)(() => (0, _getOr.default)('#00B0FF', 'common.primary', skin), [skin]);
176
+ const {
177
+ loading,
178
+ loadingAriaLabel,
179
+ parentContentTitle,
180
+ questionText,
181
+ answerUI,
182
+ showCorrectionPopin,
183
+ animateCorrectionPopin
184
+ } = slide;
185
+ return /*#__PURE__*/_react.default.createElement("div", {
186
+ "data-name": `slide-container`,
187
+ className: _style.default.slide
188
+ }, loading ? /*#__PURE__*/_react.default.createElement(_loader.default, {
189
+ className: _style.default.loader,
190
+ theme: "default",
191
+ "aria-label": loadingAriaLabel
192
+ }) : [/*#__PURE__*/_react.default.createElement(QuestionContainer, {
193
+ questionOrigin: parentContentTitle,
194
+ questionText: questionText,
195
+ answerUI: answerUI,
196
+ key: "question-container"
197
+ }), /*#__PURE__*/_react.default.createElement(ValidateButton, {
198
+ slideIndex: slideIndex,
199
+ validateButton: validateButton,
200
+ primarySkinColor: primarySkinColor,
201
+ key: "validate-button"
202
+ }), /*#__PURE__*/_react.default.createElement(CorrectionPopin, {
203
+ correctionPopinProps: correctionPopinProps,
204
+ slideIndex: slideIndex,
205
+ showCorrectionPopin: showCorrectionPopin,
206
+ animateCorrectionPopin: animateCorrectionPopin,
207
+ key: "correction-popin"
208
+ })]);
209
+ };
210
+
211
+ Slide.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.default : {};
212
+ Slide.contextTypes = {
213
+ skin: _provider.default.childContextTypes.skin
214
+ };
215
+ var _default = Slide;
216
+ exports.default = _default;
217
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/organism/review-slide/index.js"],"names":["CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","style","correctionPopinWrapper","popinAnimation","propTypes","PropTypes","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","answerProps","model","answers","choices","slideContentContainer","question","help","answerContainer","shape","slide","Slide","context","skin","loading","loadingAriaLabel","parentContentTitle","loader","contextTypes","Provider","childContextTypes"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slide will disappear, also fired in a useEffect),\n\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n */\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin} = props;\n if (!answerUI || !questionText) return null;\n\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {get('help', answerUI)}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string\n};\n\nconst Slide = (props, context) => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-name={`slide-container`} className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n [\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />,\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </div>\n );\n};\n\nSlide.propTypes = propTypes;\n\nSlide.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default Slide;\n"],"file":"index.js"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = exports.SlideProp = void 0;
5
+
6
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
+
8
+ var _propTypes2 = _interopRequireDefault(require("../../molecule/review-correction-popin/prop-types"));
9
+
10
+ var _propTypes3 = _interopRequireDefault(require("../../molecule/answer/prop-types"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const SlideProp = _propTypes.default.shape({
15
+ hidden: _propTypes.default.bool,
16
+ position: _propTypes.default.number,
17
+ loading: _propTypes.default.bool,
18
+ loadingAriaLabel: _propTypes.default.string,
19
+ animationType: _propTypes.default.string,
20
+ // 'unstack' | 'restack'
21
+ isCorrect: _propTypes.default.bool,
22
+ animateCorrectionPopin: _propTypes.default.bool,
23
+ showCorrectionPopin: _propTypes.default.bool,
24
+ parentContentTitle: _propTypes.default.string,
25
+ questionText: _propTypes.default.string,
26
+ answerUI: _propTypes.default.shape(_propTypes3.default)
27
+ });
28
+
29
+ exports.SlideProp = SlideProp;
30
+ var _default = {
31
+ slideIndex: _propTypes.default.string,
32
+ slide: SlideProp,
33
+ validateButton: _propTypes.default.shape({
34
+ label: _propTypes.default.string.isRequired,
35
+ onClick: _propTypes.default.func.isRequired,
36
+ disabled: _propTypes.default.bool
37
+ }),
38
+ correctionPopinProps: _propTypes.default.shape({
39
+ klf: _propTypes2.default.klf,
40
+ information: _propTypes2.default.information,
41
+ next: _propTypes.default.shape({
42
+ label: _propTypes.default.string,
43
+ 'aria-label': _propTypes.default.string // Pourquoi le onClick du next n'est pas ici !
44
+ // updateSlidesOnNext: PropTypes.func.isRequired ???
45
+
46
+ }),
47
+ resultLabel: _propTypes2.default.resultLabel,
48
+ type: _propTypes2.default.type
49
+ })
50
+ };
51
+ exports.default = _default;
52
+ //# sourceMappingURL=prop-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/organism/review-slide/prop-types.js"],"names":["SlideProp","PropTypes","shape","hidden","bool","position","number","loading","loadingAriaLabel","string","animationType","isCorrect","animateCorrectionPopin","showCorrectionPopin","parentContentTitle","questionText","answerUI","AnswerPropTypes","slideIndex","slide","validateButton","label","isRequired","onClick","func","disabled","correctionPopinProps","klf","ReviewCorrectionPopinPropTypes","information","next","resultLabel","type"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEO,MAAMA,SAAS,GAAGC,mBAAUC,KAAV,CAAgB;AACvCC,EAAAA,MAAM,EAAEF,mBAAUG,IADqB;AAEvCC,EAAAA,QAAQ,EAAEJ,mBAAUK,MAFmB;AAGvCC,EAAAA,OAAO,EAAEN,mBAAUG,IAHoB;AAIvCI,EAAAA,gBAAgB,EAAEP,mBAAUQ,MAJW;AAKvCC,EAAAA,aAAa,EAAET,mBAAUQ,MALc;AAKN;AACjCE,EAAAA,SAAS,EAAEV,mBAAUG,IANkB;AAOvCQ,EAAAA,sBAAsB,EAAEX,mBAAUG,IAPK;AAQvCS,EAAAA,mBAAmB,EAAEZ,mBAAUG,IARQ;AASvCU,EAAAA,kBAAkB,EAAEb,mBAAUQ,MATS;AAUvCM,EAAAA,YAAY,EAAEd,mBAAUQ,MAVe;AAWvCO,EAAAA,QAAQ,EAAEf,mBAAUC,KAAV,CAAgBe,mBAAhB;AAX6B,CAAhB,CAAlB;;;eAcQ;AACbC,EAAAA,UAAU,EAAEjB,mBAAUQ,MADT;AAEbU,EAAAA,KAAK,EAAEnB,SAFM;AAGboB,EAAAA,cAAc,EAAEnB,mBAAUC,KAAV,CAAgB;AAC9BmB,IAAAA,KAAK,EAAEpB,mBAAUQ,MAAV,CAAiBa,UADM;AAE9BC,IAAAA,OAAO,EAAEtB,mBAAUuB,IAAV,CAAeF,UAFM;AAG9BG,IAAAA,QAAQ,EAAExB,mBAAUG;AAHU,GAAhB,CAHH;AAQbsB,EAAAA,oBAAoB,EAAEzB,mBAAUC,KAAV,CAAgB;AACpCyB,IAAAA,GAAG,EAAEC,oBAA+BD,GADA;AAEpCE,IAAAA,WAAW,EAAED,oBAA+BC,WAFR;AAGpCC,IAAAA,IAAI,EAAE7B,mBAAUC,KAAV,CAAgB;AACpBmB,MAAAA,KAAK,EAAEpB,mBAAUQ,MADG;AAEpB,oBAAcR,mBAAUQ,MAFJ,CAEW;AAC/B;;AAHoB,KAAhB,CAH8B;AAQpCsB,IAAAA,WAAW,EAAEH,oBAA+BG,WARR;AASpCC,IAAAA,IAAI,EAAEJ,oBAA+BI;AATD,GAAhB;AART,C","sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewCorrectionPopinPropTypes from '../../molecule/review-correction-popin/prop-types';\nimport AnswerPropTypes from '../../molecule/answer/prop-types';\n\nexport const SlideProp = PropTypes.shape({\n hidden: PropTypes.bool,\n position: PropTypes.number,\n loading: PropTypes.bool,\n loadingAriaLabel: PropTypes.string,\n animationType: PropTypes.string, // 'unstack' | 'restack'\n isCorrect: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n showCorrectionPopin: PropTypes.bool,\n parentContentTitle: PropTypes.string,\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(AnswerPropTypes)\n});\n\nexport default {\n slideIndex: PropTypes.string,\n slide: SlideProp,\n validateButton: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n disabled: PropTypes.bool\n }),\n correctionPopinProps: PropTypes.shape({\n klf: ReviewCorrectionPopinPropTypes.klf,\n information: ReviewCorrectionPopinPropTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string // Pourquoi le onClick du next n'est pas ici !\n // updateSlidesOnNext: PropTypes.func.isRequired ???\n }),\n resultLabel: ReviewCorrectionPopinPropTypes.resultLabel,\n type: ReviewCorrectionPopinPropTypes.type\n })\n};\n"],"file":"prop-types.js"}
@@ -0,0 +1,173 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value black from colors;
3
+ @value white from colors;
4
+ @value cm_blue_900 from colors;
5
+ @value cm_grey_400 from colors;
6
+ @value breakpoints: "../../variables/breakpoints.css";
7
+ @value mobile from breakpoints;
8
+ @value tablet from breakpoints;
9
+
10
+ .fontBase {
11
+ font-family: "Gilroy";
12
+ user-select: none;
13
+ }
14
+
15
+ .slide{
16
+ align-items: center;
17
+ display: flex;
18
+ flex-direction: column;
19
+ justify-content: flex-start;
20
+ }
21
+
22
+ .slideContentContainer {
23
+ margin-top: 15px;
24
+ height: 563px;
25
+ display: flex;
26
+ justify-items: center;
27
+ align-items: center;
28
+ flex-direction: column;
29
+ overflow-y: auto;
30
+ position: relative;
31
+ width: 100%;
32
+ }
33
+
34
+ .validateButtonWrapper {
35
+ position: absolute;
36
+ bottom: 64px;
37
+ background-color: black;
38
+ border-radius: 7px;
39
+ min-width: 250px;
40
+ width: min-content;
41
+ }
42
+
43
+ /* ie fallback */
44
+ _:-ms-fullscreen, :root .validateButtonWrapper {
45
+ width: 300px;
46
+ left: 40%;
47
+ right: 40%;
48
+ }
49
+
50
+ .answerContainer {
51
+ max-width: 95%;
52
+ display: flex;
53
+ justify-content: center;
54
+ height: 100%;
55
+ /*
56
+ To break wrappers layout (to enclose large answers in the scroll bar), works like
57
+ display: contents for this use case but w ie11 support
58
+ */
59
+ display: grid;
60
+ }
61
+
62
+ .question {
63
+ composes: fontBase;
64
+ font-size: 20px;
65
+ font-weight: bold;
66
+ color: cm_blue_900;
67
+ text-align: center;
68
+ margin: 24px 0 4px;
69
+ max-width: 95%;
70
+ box-sizing: border-box;
71
+ }
72
+
73
+ .questionOrigin {
74
+ composes: fontBase;
75
+ font-size: 15px;
76
+ color: cm_blue_900;
77
+ margin-top: 49px;
78
+ text-align: center;
79
+ max-width: 95%;
80
+ }
81
+
82
+ .questionOrigin:empty:after {
83
+ content: "\a0";
84
+ }
85
+
86
+ .help {
87
+ composes: fontBase;
88
+ font-size: 15px;
89
+ color: cm_grey_400;
90
+ flex-grow: 0.1;
91
+ margin: 4px 0 10px;
92
+ text-align: center;
93
+ max-width: 95%;
94
+ }
95
+
96
+ /* to keep the content space even if the help label is empty */
97
+ .help:empty:after {
98
+ content: "\a0";
99
+ }
100
+
101
+ @keyframes popInAnimation {
102
+ from {
103
+ transform: translate3d(0, 200px, 0);
104
+ }
105
+ to {
106
+ transform: translate3d(0, 0, 0);
107
+ }
108
+ }
109
+
110
+ .correctionPopinWrapper {
111
+ position: absolute;
112
+ bottom: 0px;
113
+ border-radius: 7px;
114
+ margin: 0 15px 40px;
115
+ width: 95%;
116
+ }
117
+
118
+ .popinAnimation {
119
+ animation: popInAnimation 0.5s ease-out forwards;
120
+ }
121
+
122
+ /* ie fallback */
123
+ _:-ms-fullscreen, :root .correctionPopinWrapper {
124
+ left: 15px;
125
+ }
126
+
127
+ .validateButton {
128
+ color: white;
129
+ transition: opacity 0.25s ease-in;
130
+ }
131
+
132
+ .validateButton:hover {
133
+ opacity: 0.8;
134
+ }
135
+
136
+ .loader {
137
+ height: 60px;
138
+ width: 60px;
139
+ }
140
+
141
+ @media tablet {
142
+ .slideContentContainer {
143
+ height: 473px;
144
+ }
145
+
146
+ @keyframes popInAnimation {
147
+ from {
148
+ transform: translate3d(0, 400px, 0);
149
+ }
150
+ to {
151
+ transform: translate3d(0, 0, 0);
152
+ }
153
+ }
154
+ }
155
+
156
+ @media mobile {
157
+ .slideContentContainer {
158
+ height: 511px;
159
+ }
160
+
161
+ .questionOrigin, .question, .help, .answerContainer {
162
+ max-width: 90%;
163
+ }
164
+
165
+ @keyframes popInAnimation {
166
+ from {
167
+ transform: translate3d(0, 500px, 0);
168
+ }
169
+ to {
170
+ transform: translate3d(0, 0, 0);
171
+ }
172
+ }
173
+ }