@coorpacademy/components 11.2.13-alpha.2 → 11.2.13-alpha.36

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 (108) hide show
  1. package/es/atom/lottie-wrapper/index.d.ts.map +1 -1
  2. package/es/atom/lottie-wrapper/index.js +12 -16
  3. package/es/atom/lottie-wrapper/index.js.map +1 -1
  4. package/es/atom/review-background/index.d.ts.map +1 -1
  5. package/es/atom/review-background/index.js +18 -9
  6. package/es/atom/review-background/index.js.map +1 -1
  7. package/es/molecule/add-to-my-list/index.js +3 -1
  8. package/es/molecule/add-to-my-list/index.js.map +1 -1
  9. package/es/molecule/card/notification.js +3 -1
  10. package/es/molecule/card/notification.js.map +1 -1
  11. package/es/molecule/cm-popin/index.native.d.ts +5 -0
  12. package/es/molecule/cm-popin/index.native.d.ts.map +1 -0
  13. package/es/molecule/cm-popin/index.native.js +124 -0
  14. package/es/molecule/cm-popin/index.native.js.map +1 -0
  15. package/es/molecule/cm-popin/types.d.ts +3 -3
  16. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  17. package/es/molecule/cm-popin/types.js.map +1 -1
  18. package/es/molecule/forum/forum-post/index.d.ts.map +1 -1
  19. package/es/molecule/forum/forum-post/index.js +2 -1
  20. package/es/molecule/forum/forum-post/index.js.map +1 -1
  21. package/es/molecule/questions/free-text/index.d.ts.map +1 -1
  22. package/es/molecule/questions/free-text/index.js +1 -2
  23. package/es/molecule/questions/free-text/index.js.map +1 -1
  24. package/es/molecule/share/index.d.ts.map +1 -1
  25. package/es/molecule/share/index.js +5 -1
  26. package/es/molecule/share/index.js.map +1 -1
  27. package/es/organism/mobile-navigation/index.native.d.ts.map +1 -1
  28. package/es/organism/mobile-navigation/index.native.js +3 -3
  29. package/es/organism/mobile-navigation/index.native.js.map +1 -1
  30. package/es/organism/mooc-header/index.d.ts.map +1 -1
  31. package/es/organism/mooc-header/index.js +7 -5
  32. package/es/organism/mooc-header/index.js.map +1 -1
  33. package/es/organism/review-header/index.native.d.ts.map +1 -1
  34. package/es/organism/review-header/index.native.js +34 -3
  35. package/es/organism/review-header/index.native.js.map +1 -1
  36. package/es/organism/review-slide/index.d.ts.map +1 -1
  37. package/es/organism/review-slide/index.js +31 -2
  38. package/es/organism/review-slide/index.js.map +1 -1
  39. package/es/organism/review-stacked-slides/index.native.js +6 -6
  40. package/es/organism/review-stacked-slides/index.native.js.map +1 -1
  41. package/es/organism/user-preferences/index.js +2 -1
  42. package/es/organism/user-preferences/index.js.map +1 -1
  43. package/es/template/app-review/player/index.native.d.ts.map +1 -1
  44. package/es/template/app-review/player/index.native.js +4 -2
  45. package/es/template/app-review/player/index.native.js.map +1 -1
  46. package/es/template/app-review/skills/index.d.ts.map +1 -1
  47. package/es/template/app-review/skills/index.js +1 -6
  48. package/es/template/app-review/skills/index.js.map +1 -1
  49. package/es/template/app-review/skills/style.css +0 -5
  50. package/es/template/back-office/brand-update/style.css +1 -0
  51. package/es/template/common/search-page/index.d.ts.map +1 -1
  52. package/es/template/common/search-page/index.js +2 -1
  53. package/es/template/common/search-page/index.js.map +1 -1
  54. package/lib/atom/lottie-wrapper/index.d.ts.map +1 -1
  55. package/lib/atom/lottie-wrapper/index.js +13 -16
  56. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  57. package/lib/atom/review-background/index.d.ts.map +1 -1
  58. package/lib/atom/review-background/index.js +18 -9
  59. package/lib/atom/review-background/index.js.map +1 -1
  60. package/lib/molecule/add-to-my-list/index.js +3 -1
  61. package/lib/molecule/add-to-my-list/index.js.map +1 -1
  62. package/lib/molecule/card/notification.js +3 -1
  63. package/lib/molecule/card/notification.js.map +1 -1
  64. package/lib/molecule/cm-popin/index.native.d.ts +5 -0
  65. package/lib/molecule/cm-popin/index.native.d.ts.map +1 -0
  66. package/lib/molecule/cm-popin/index.native.js +141 -0
  67. package/lib/molecule/cm-popin/index.native.js.map +1 -0
  68. package/lib/molecule/cm-popin/types.d.ts +3 -3
  69. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  70. package/lib/molecule/cm-popin/types.js.map +1 -1
  71. package/lib/molecule/forum/forum-post/index.d.ts.map +1 -1
  72. package/lib/molecule/forum/forum-post/index.js +2 -1
  73. package/lib/molecule/forum/forum-post/index.js.map +1 -1
  74. package/lib/molecule/questions/free-text/index.d.ts.map +1 -1
  75. package/lib/molecule/questions/free-text/index.js +1 -2
  76. package/lib/molecule/questions/free-text/index.js.map +1 -1
  77. package/lib/molecule/share/index.d.ts.map +1 -1
  78. package/lib/molecule/share/index.js +5 -1
  79. package/lib/molecule/share/index.js.map +1 -1
  80. package/lib/organism/mobile-navigation/index.native.d.ts.map +1 -1
  81. package/lib/organism/mobile-navigation/index.native.js +2 -2
  82. package/lib/organism/mobile-navigation/index.native.js.map +1 -1
  83. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  84. package/lib/organism/mooc-header/index.js +7 -5
  85. package/lib/organism/mooc-header/index.js.map +1 -1
  86. package/lib/organism/review-header/index.native.d.ts.map +1 -1
  87. package/lib/organism/review-header/index.native.js +36 -3
  88. package/lib/organism/review-header/index.native.js.map +1 -1
  89. package/lib/organism/review-slide/index.d.ts.map +1 -1
  90. package/lib/organism/review-slide/index.js +30 -1
  91. package/lib/organism/review-slide/index.js.map +1 -1
  92. package/lib/organism/review-stacked-slides/index.native.js +5 -5
  93. package/lib/organism/review-stacked-slides/index.native.js.map +1 -1
  94. package/lib/organism/user-preferences/index.js +2 -1
  95. package/lib/organism/user-preferences/index.js.map +1 -1
  96. package/lib/template/app-review/player/index.native.d.ts.map +1 -1
  97. package/lib/template/app-review/player/index.native.js +5 -2
  98. package/lib/template/app-review/player/index.native.js.map +1 -1
  99. package/lib/template/app-review/skills/index.d.ts.map +1 -1
  100. package/lib/template/app-review/skills/index.js +1 -7
  101. package/lib/template/app-review/skills/index.js.map +1 -1
  102. package/lib/template/app-review/skills/style.css +0 -5
  103. package/lib/template/back-office/brand-update/style.css +1 -0
  104. package/lib/template/common/search-page/index.d.ts.map +1 -1
  105. package/lib/template/common/search-page/index.js +2 -1
  106. package/lib/template/common/search-page/index.js.map +1 -1
  107. package/locales/en/global.json +5 -1
  108. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useMemo","useCallback","useContext","useEffect","PropTypes","classnames","NovaCompositionCoorpacademyCheck","CheckIcon","NovaCompositionCoorpacademyShare","ShareIcon","NovaCompositionCoorpacademyAttention","AttentionIcon","Link","styles","SHARE_STATUS","IDLE","ERROR","SUCCESS","copyTextViaExecCommand","text","textarea","document","createElement","style","border","padding","visibility","position","setAttribute","value","body","appendChild","status","select","setSelectionRange","length","execCommand","error","removeChild","StatusContext","createContext","ShareStatusProvider","children","setStatus","timeoutId","DURATION","setTimeout","clearTimeout","ShareFeedback","successWording","errorWording","feedback","errorFeedback","checkIcon","Share","wording","onClick","browserSupportsClipboardWriteText","navigator","clipboard","writeText","copyStatus","container","cta","wrapper","shareIcon","propTypes","node","string"],"sources":["../../../src/molecule/share/index.js"],"sourcesContent":["import React, {useState, useMemo, useCallback, useContext, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionCoorpacademyShare as ShareIcon,\n NovaCompositionCoorpacademyAttention as AttentionIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst SHARE_STATUS = {\n IDLE: 'IDLE',\n ERROR: 'ERROR',\n SUCCESS: 'SUCCESS'\n};\n\nconst copyTextViaExecCommand = text => {\n const textarea = document.createElement('textarea');\n\n textarea.style.border = '0';\n textarea.style.padding = '0';\n textarea.style.visibility = 'hidden';\n textarea.style.position = 'absolute';\n textarea.setAttribute('readonly', '');\n textarea.value = text;\n\n // Element.append is not supported on IE11 :/\n // eslint-disable-next-line unicorn/prefer-node-append\n document.body.appendChild(textarea);\n let status = SHARE_STATUS.IDLE;\n\n try {\n textarea.select();\n textarea.setSelectionRange(0, textarea.value.length);\n document.execCommand('copy');\n status = SHARE_STATUS.SUCCESS;\n } catch (error) {\n status = SHARE_STATUS.ERROR;\n }\n\n // Element.remove is not supported on IE11 :/\n // eslint-disable-next-line unicorn/prefer-node-remove\n document.body.removeChild(textarea);\n\n return status;\n};\n\nconst StatusContext = React.createContext(SHARE_STATUS.IDLE);\n\nexport const ShareStatusProvider = ({children}) => {\n const [status, setStatus] = useState(SHARE_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== SHARE_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(SHARE_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n\n const value = useMemo(() => [status, setStatus], [status]);\n\n return <StatusContext.Provider value={value}>{children}</StatusContext.Provider>;\n};\n\nexport const ShareFeedback = ({successWording, errorWording}) => {\n const [status] = useContext(StatusContext);\n if (status === SHARE_STATUS.IDLE) return null;\n\n return (\n <div\n className={classnames(styles.feedback, status === SHARE_STATUS.ERROR && styles.errorFeedback)}\n >\n {status === SHARE_STATUS.SUCCESS ? (\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n ) : (\n <AttentionIcon className={styles.checkIcon} width={13} height={13} />\n )}\n <p>{status === SHARE_STATUS.SUCCESS ? successWording : errorWording}</p>\n </div>\n );\n};\n\nconst Share = ({style, text, wording}) => {\n const [, setStatus] = useContext(StatusContext);\n const onClick = useCallback(async () => {\n const browserSupportsClipboardWriteText =\n 'clipboard' in navigator && 'writeText' in navigator.clipboard;\n if (browserSupportsClipboardWriteText) {\n try {\n await navigator.clipboard.writeText(text);\n setStatus(SHARE_STATUS.SUCCESS);\n } catch (error) {\n setStatus(SHARE_STATUS.ERROR);\n }\n return;\n } else {\n const copyStatus = copyTextViaExecCommand(text);\n setStatus(copyStatus);\n }\n return;\n }, [setStatus, text]);\n\n return (\n <div className={(styles.container, style)}>\n <Link onClick={onClick} className={styles.cta} data-name={'share-button'}>\n <div className={styles.wrapper}>\n <ShareIcon className={styles.shareIcon} width={18} height={18} />\n <p>{wording}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nShareStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nShareFeedback.propTypes = {\n successWording: PropTypes.string,\n errorWording: PropTypes.string\n};\n\nShare.propTypes = {\n style: PropTypes.string,\n text: PropTypes.string,\n wording: PropTypes.string\n};\n\nexport default Share;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useMemo","useCallback","useContext","useEffect","PropTypes","classnames","NovaCompositionCoorpacademyCheck","CheckIcon","NovaCompositionCoorpacademyShare","ShareIcon","NovaCompositionCoorpacademyAttention","AttentionIcon","Link","styles","SHARE_STATUS","IDLE","ERROR","SUCCESS","copyTextViaExecCommand","text","textarea","document","createElement","style","border","padding","visibility","position","setAttribute","value","body","appendChild","status","select","setSelectionRange","length","execCommand","error","removeChild","StatusContext","createContext","ShareStatusProvider","children","setStatus","timeoutId","DURATION","setTimeout","clearTimeout","ShareFeedback","successWording","errorWording","feedback","errorFeedback","checkIcon","Share","wording","onClick","browserSupportsClipboardWriteText","navigator","clipboard","writeText","copyStatus","container","cta","wrapper","shareIcon","propTypes","node","string"],"sources":["../../../src/molecule/share/index.js"],"sourcesContent":["import React, {useState, useMemo, useCallback, useContext, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionCoorpacademyShare as ShareIcon,\n NovaCompositionCoorpacademyAttention as AttentionIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst SHARE_STATUS = {\n IDLE: 'IDLE',\n ERROR: 'ERROR',\n SUCCESS: 'SUCCESS'\n};\n\nconst copyTextViaExecCommand = text => {\n const textarea = document.createElement('textarea');\n\n textarea.style.border = '0';\n textarea.style.padding = '0';\n textarea.style.visibility = 'hidden';\n textarea.style.position = 'absolute';\n textarea.setAttribute('readonly', '');\n textarea.value = text;\n\n // Element.append is not supported on IE11 :/\n // eslint-disable-next-line unicorn/prefer-node-append\n document.body.appendChild(textarea);\n let status = SHARE_STATUS.IDLE;\n\n try {\n textarea.select();\n textarea.setSelectionRange(0, textarea.value.length);\n document.execCommand('copy');\n status = SHARE_STATUS.SUCCESS;\n } catch (error) {\n status = SHARE_STATUS.ERROR;\n }\n\n // Element.remove is not supported on IE11 :/\n // eslint-disable-next-line unicorn/prefer-node-remove\n document.body.removeChild(textarea);\n\n return status;\n};\n\nconst StatusContext = React.createContext(SHARE_STATUS.IDLE);\n\nexport const ShareStatusProvider = ({children}) => {\n const [status, setStatus] = useState(SHARE_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== SHARE_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(SHARE_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n\n const value = useMemo(() => [status, setStatus], [status]);\n\n return <StatusContext.Provider value={value}>{children}</StatusContext.Provider>;\n};\n\nexport const ShareFeedback = ({successWording, errorWording}) => {\n const [status] = useContext(StatusContext);\n if (status === SHARE_STATUS.IDLE) return null;\n\n return (\n <div\n className={classnames(styles.feedback, status === SHARE_STATUS.ERROR && styles.errorFeedback)}\n >\n {status === SHARE_STATUS.SUCCESS ? (\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n ) : (\n <AttentionIcon className={styles.checkIcon} width={13} height={13} />\n )}\n {status === SHARE_STATUS.SUCCESS ? (\n <p role=\"status\">{successWording}</p>\n ) : (\n <p role=\"alert\">{errorWording}</p>\n )}\n </div>\n );\n};\n\nconst Share = ({style, text, wording}) => {\n const [, setStatus] = useContext(StatusContext);\n const onClick = useCallback(async () => {\n const browserSupportsClipboardWriteText =\n 'clipboard' in navigator && 'writeText' in navigator.clipboard;\n if (browserSupportsClipboardWriteText) {\n try {\n await navigator.clipboard.writeText(text);\n setStatus(SHARE_STATUS.SUCCESS);\n } catch (error) {\n setStatus(SHARE_STATUS.ERROR);\n }\n return;\n } else {\n const copyStatus = copyTextViaExecCommand(text);\n setStatus(copyStatus);\n }\n return;\n }, [setStatus, text]);\n\n return (\n <div className={(styles.container, style)}>\n <Link onClick={onClick} className={styles.cta} data-name={'share-button'}>\n <div className={styles.wrapper}>\n <ShareIcon className={styles.shareIcon} width={18} height={18} />\n <p>{wording}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nShareStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nShareFeedback.propTypes = {\n successWording: PropTypes.string,\n errorWording: PropTypes.string\n};\n\nShare.propTypes = {\n style: PropTypes.string,\n text: PropTypes.string,\n wording: PropTypes.string\n};\n\nexport default Share;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/mobile-navigation/index.native.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAsB,EAAE,EAAC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAyB,SAAS,EAAE,SAAS,EAAE,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAOjG,OAAO,EAAC,KAAK,EAAC,MAAM,8BAA8B,CAAC;AAEnD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC1D,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACjD;AAED,oBAAY,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,KAAK;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,aAAK,cAAc,GAAG;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;IACtB,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAsEF,QAAA,MAAM,aAAa,iCAAgC,KAAK,uBAwCvD,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/mobile-navigation/index.native.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAsB,EAAE,EAAC,MAAM,OAAO,CAAC;AACrD,OAAO,EAIL,SAAS,EACT,SAAS,EACT,qBAAqB,EAEtB,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAC,KAAK,EAAC,MAAM,8BAA8B,CAAC;AAEnD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC1D,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACjD;AAED,oBAAY,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,KAAK;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,aAAK,cAAc,GAAG;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;IACtB,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAsEF,QAAA,MAAM,aAAa,iCAAgC,KAAK,uBA0CvD,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- import { View, StyleSheet, Text } from 'react-native';
2
+ import { View, StyleSheet, Text, Platform } from 'react-native';
3
3
  import { BlurView } from '@react-native-community/blur';
4
4
  import { NovaCompositionNavigationNavBar as BlurredShadow } from '@coorpacademy/nova-icons';
5
5
  import { useTemplateContext } from '../../template/app-review/template-context';
@@ -106,11 +106,11 @@ const NavigationBar = ({
106
106
 
107
107
  return /*#__PURE__*/React.createElement(View, {
108
108
  style: styleSheet.main
109
- }, /*#__PURE__*/React.createElement(BlurView, {
109
+ }, Platform.OS === 'ios' ? /*#__PURE__*/React.createElement(BlurView, {
110
110
  style: styleSheet.container,
111
111
  blurAmount: 32,
112
112
  reducedTransparencyFallbackColor: "rgba(17, 17, 23, 0.5)"
113
- }), /*#__PURE__*/React.createElement(View, {
113
+ }) : null, /*#__PURE__*/React.createElement(View, {
114
114
  style: styleSheet.container
115
115
  }, items.map((prop, index) => {
116
116
  const handlePress = prop.action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","useState","useEffect","View","StyleSheet","Text","BlurView","NovaCompositionNavigationNavBar","BlurredShadow","useTemplateContext","Touchable","createStyleSheet","theme","create","main","marginHorizontal","container","position","bottom","width","flexDirection","justifyContent","alignSelf","overflow","height","borderRadius","backgroundColor","colors","gray","light","button","alignItems","flex","marginTop","spacing","small","buttonText","fontSize","lineHeight","color","text","primary","dot","cta","blur","transform","rotateX","scaleX","Button","testID","title","selected","Icon","styles","onPress","NavigationBar","items","selectedItemIndex","templateContext","styleSheet","setStylesheet","_stylesheet","map","prop","index","handlePress","action","label","icon"],"sources":["../../../src/organism/mobile-navigation/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect, FC} from 'react';\nimport {View, StyleSheet, Text, ViewStyle, TextStyle, GestureResponderEvent} from 'react-native';\nimport {BlurView} from '@react-native-community/blur';\n\nimport {NovaCompositionNavigationNavBar as BlurredShadow} from '@coorpacademy/nova-icons';\n\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Theme} from '../../variables/theme.native';\n\ninterface ButtonProps {\n title: string;\n testID: string;\n selected: boolean;\n Icon: FC<{height: number; width: number; color?: string}>;\n styles: StyleSheetType;\n theme: Theme;\n onPress: (event: GestureResponderEvent) => void;\n}\n\nexport type NavItemType = {\n label: string;\n icon: ButtonProps['Icon'];\n action: (event: GestureResponderEvent) => void;\n};\n\nexport interface Props {\n testID?: string;\n items: Array<NavItemType>;\n selectedItemIndex: number;\n}\n\ntype StyleSheetType = {\n main: ViewStyle;\n container: ViewStyle;\n button: ViewStyle;\n buttonText: TextStyle;\n dot: ViewStyle;\n blur: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n main: {\n marginHorizontal: 20\n },\n container: {\n position: 'absolute',\n bottom: 34,\n width: '100%',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignSelf: 'center',\n overflow: 'hidden',\n height: 66,\n borderRadius: 12,\n backgroundColor: theme.colors.gray.light\n },\n button: {\n alignItems: 'center',\n flex: 1,\n height: '100%',\n marginTop: theme.spacing.small\n },\n buttonText: {\n fontSize: theme.fontSize.small,\n lineHeight: 26,\n // height: 11,\n color: theme.colors.text.primary\n },\n\n dot: {\n width: 8,\n height: 8,\n borderRadius: 8,\n backgroundColor: theme.colors.cta,\n marginTop: 3,\n position: 'absolute',\n alignSelf: 'center'\n },\n blur: {\n marginTop: -87,\n width: 200,\n height: 100,\n position: 'absolute',\n alignSelf: 'center',\n transform: [{rotateX: '180deg'}, {scaleX: 0.7}]\n }\n });\n\nconst Button = ({testID, title, selected, Icon, styles, theme, onPress}: ButtonProps) => (\n <Touchable testID={testID} style={styles.button} onPress={onPress}>\n <View style={{alignItems: 'center'}}>\n <Icon\n height={16}\n width={16}\n color={selected ? theme.colors.cta : theme.colors.text.primary}\n />\n <Text style={styles.buttonText}>{title}</Text>\n </View>\n {selected ? (\n <View>\n <View style={styles.dot} />\n <BlurredShadow color={theme.colors.cta} style={styles.blur} />\n </View>\n ) : null}\n </Touchable>\n);\n\nconst NavigationBar = ({items, selectedItemIndex}: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.main}>\n <BlurView\n style={styleSheet.container}\n blurAmount={32}\n reducedTransparencyFallbackColor=\"rgba(17, 17, 23, 0.5)\"\n />\n <View style={styleSheet.container}>\n {items.map((prop, index) => {\n const handlePress = prop.action;\n return (\n <Button\n key={`button-${prop.label}`}\n title={prop.label}\n Icon={prop.icon}\n onPress={handlePress}\n selected={index === selectedItemIndex}\n testID={`navigationButton_${index}`}\n styles={styleSheet}\n theme={theme}\n />\n );\n })}\n </View>\n </View>\n );\n};\n\nexport default NavigationBar;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["React","useState","useEffect","View","StyleSheet","Text","Platform","BlurView","NovaCompositionNavigationNavBar","BlurredShadow","useTemplateContext","Touchable","createStyleSheet","theme","create","main","marginHorizontal","container","position","bottom","width","flexDirection","justifyContent","alignSelf","overflow","height","borderRadius","backgroundColor","colors","gray","light","button","alignItems","flex","marginTop","spacing","small","buttonText","fontSize","lineHeight","color","text","primary","dot","cta","blur","transform","rotateX","scaleX","Button","testID","title","selected","Icon","styles","onPress","NavigationBar","items","selectedItemIndex","templateContext","styleSheet","setStylesheet","_stylesheet","OS","map","prop","index","handlePress","action","label","icon"],"sources":["../../../src/organism/mobile-navigation/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect, FC} from 'react';\nimport {\n View,\n StyleSheet,\n Text,\n ViewStyle,\n TextStyle,\n GestureResponderEvent,\n Platform\n} from 'react-native';\nimport {BlurView} from '@react-native-community/blur';\n\nimport {NovaCompositionNavigationNavBar as BlurredShadow} from '@coorpacademy/nova-icons';\n\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Theme} from '../../variables/theme.native';\n\ninterface ButtonProps {\n title: string;\n testID: string;\n selected: boolean;\n Icon: FC<{height: number; width: number; color?: string}>;\n styles: StyleSheetType;\n theme: Theme;\n onPress: (event: GestureResponderEvent) => void;\n}\n\nexport type NavItemType = {\n label: string;\n icon: ButtonProps['Icon'];\n action: (event: GestureResponderEvent) => void;\n};\n\nexport interface Props {\n testID?: string;\n items: Array<NavItemType>;\n selectedItemIndex: number;\n}\n\ntype StyleSheetType = {\n main: ViewStyle;\n container: ViewStyle;\n button: ViewStyle;\n buttonText: TextStyle;\n dot: ViewStyle;\n blur: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n main: {\n marginHorizontal: 20\n },\n container: {\n position: 'absolute',\n bottom: 34,\n width: '100%',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignSelf: 'center',\n overflow: 'hidden',\n height: 66,\n borderRadius: 12,\n backgroundColor: theme.colors.gray.light\n },\n button: {\n alignItems: 'center',\n flex: 1,\n height: '100%',\n marginTop: theme.spacing.small\n },\n buttonText: {\n fontSize: theme.fontSize.small,\n lineHeight: 26,\n // height: 11,\n color: theme.colors.text.primary\n },\n\n dot: {\n width: 8,\n height: 8,\n borderRadius: 8,\n backgroundColor: theme.colors.cta,\n marginTop: 3,\n position: 'absolute',\n alignSelf: 'center'\n },\n blur: {\n marginTop: -87,\n width: 200,\n height: 100,\n position: 'absolute',\n alignSelf: 'center',\n transform: [{rotateX: '180deg'}, {scaleX: 0.7}]\n }\n });\n\nconst Button = ({testID, title, selected, Icon, styles, theme, onPress}: ButtonProps) => (\n <Touchable testID={testID} style={styles.button} onPress={onPress}>\n <View style={{alignItems: 'center'}}>\n <Icon\n height={16}\n width={16}\n color={selected ? theme.colors.cta : theme.colors.text.primary}\n />\n <Text style={styles.buttonText}>{title}</Text>\n </View>\n {selected ? (\n <View>\n <View style={styles.dot} />\n <BlurredShadow color={theme.colors.cta} style={styles.blur} />\n </View>\n ) : null}\n </Touchable>\n);\n\nconst NavigationBar = ({items, selectedItemIndex}: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.main}>\n {Platform.OS === 'ios' ? (\n <BlurView\n style={styleSheet.container}\n blurAmount={32}\n reducedTransparencyFallbackColor=\"rgba(17, 17, 23, 0.5)\"\n />\n ) : null}\n <View style={styleSheet.container}>\n {items.map((prop, index) => {\n const handlePress = prop.action;\n return (\n <Button\n key={`button-${prop.label}`}\n title={prop.label}\n Icon={prop.icon}\n onPress={handlePress}\n selected={index === selectedItemIndex}\n testID={`navigationButton_${index}`}\n styles={styleSheet}\n theme={theme}\n />\n );\n })}\n </View>\n </View>\n );\n};\n\nexport default NavigationBar;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAwBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAmBC;IAjBC;;;;MAIC;IA6CH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IArFD,2EASC;IAGC,kBAAsB;IA2ExB,6BAqYC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAwBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAmBC;IAjBC;;;;MAIC;IA6CH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IArFD,2EASC;IAGC,kBAAsB;IA2ExB,6BAmYC;CACF"}
@@ -176,7 +176,8 @@ class MoocHeader extends React.Component {
176
176
  } = this.context;
177
177
  const {
178
178
  'aria-label': logoAriaLabel,
179
- 'button-aria-label': logoButtonAriaLabel
179
+ closeMenuAriaLabel,
180
+ openMenuAriaLabel
180
181
  } = logo;
181
182
 
182
183
  const logoUrl = _get('src', logo) || _get('images.logo', skin);
@@ -491,19 +492,20 @@ class MoocHeader extends React.Component {
491
492
  className: style.logoWrapper
492
493
  }, /*#__PURE__*/React.createElement("div", {
493
494
  className: style.navMobile,
494
- "data-name": "nav-mobile",
495
- "aria-label": logoButtonAriaLabel
495
+ "data-name": "nav-mobile"
496
496
  }, /*#__PURE__*/React.createElement(BurgerIcon, {
497
497
  role: "button",
498
498
  "data-name": "nav-mobile-open",
499
499
  color: mediumColor,
500
500
  className: isMenuOpen ? style.burgerHidden : style.burger,
501
- onClick: this.handleOnMenuOpen
501
+ onClick: this.handleOnMenuOpen,
502
+ "aria-label": openMenuAriaLabel
502
503
  }), /*#__PURE__*/React.createElement(CloseIcon, {
503
504
  "data-name": "nav-mobile-close",
504
505
  color: mediumColor,
505
506
  className: isMenuOpen ? style.close : style.closeHidden,
506
- onClick: this.handleOnMenuClose
507
+ onClick: this.handleOnMenuClose,
508
+ "aria-label": closeMenuAriaLabel
507
509
  }), /*#__PURE__*/React.createElement(Link, {
508
510
  "data-name": "logo-mobile",
509
511
  href: logo.href
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","logoButtonAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","itemBadge","name","itemName","activePage","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'close-settings-aria-label': closeSettingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen} = this.state;\n const {translate, skin} = this.context;\n const {'aria-label': logoAriaLabel, 'button-aria-label': logoButtonAriaLabel} = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const closeLabel = translate('Close');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n </Link>\n );\n });\n\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div className={style.currentOption} aria-haspopup=\"true\" data-name=\"item-more\">\n {moreAriaLabel}\n <ArrowDown color={mediumColor} className={style.caret} aria-label={moreAriaLabel} />\n </div>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} color={white} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} color={white} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} color={white} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <InputSwitch {...switchProps} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n color={darkColor}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div data-name=\"settings\" className={style.settingsGroup}>\n {settingsElements}\n </div>\n <div\n className={style.closeSettings}\n onClick={this.handleSettingsToggle}\n aria-label={closeSettingsAriaLabel}\n >\n {closeLabel}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div className={style.logoWrapper}>\n <div\n className={style.navMobile}\n data-name=\"nav-mobile\"\n aria-label={logoButtonAriaLabel}\n >\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n color={mediumColor}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n color={mediumColor}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link className={style.logo} data-name=\"logo\" href={logo.href}>\n <Picture src={logoUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","itemBadge","name","itemName","activePage","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'close-settings-aria-label': closeSettingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen} = this.state;\n const {translate, skin} = this.context;\n const {'aria-label': logoAriaLabel, closeMenuAriaLabel, openMenuAriaLabel} = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const closeLabel = translate('Close');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n </Link>\n );\n });\n\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div className={style.currentOption} aria-haspopup=\"true\" data-name=\"item-more\">\n {moreAriaLabel}\n <ArrowDown color={mediumColor} className={style.caret} aria-label={moreAriaLabel} />\n </div>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} color={white} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} color={white} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} color={white} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <InputSwitch {...switchProps} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n color={darkColor}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div data-name=\"settings\" className={style.settingsGroup}>\n {settingsElements}\n </div>\n <div\n className={style.closeSettings}\n onClick={this.handleSettingsToggle}\n aria-label={closeSettingsAriaLabel}\n >\n {closeLabel}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div className={style.logoWrapper}>\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n color={mediumColor}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n color={mediumColor}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link className={style.logo} data-name=\"logo\" href={logo.href}>\n <Picture src={logoUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-header/index.native.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAiBpC,QAAA,MAAM,YAAY,UAAW,WAAW,gBAUvC,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-header/index.native.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAqCpC,QAAA,MAAM,YAAY,UAAW,WAAW,gBAqBvC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -2,27 +2,58 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2
2
 
3
3
  import React from 'react';
4
4
  import { StyleSheet, View } from 'react-native';
5
+ import { NovaSolidStatusClose as CloseIcon } from '@coorpacademy/nova-icons';
5
6
  import Step from '../../atom/review-header-step-item/index.native';
7
+ import Touchable from '../../hoc/touchable/index.native';
6
8
  const style = StyleSheet.create({
9
+ container: {
10
+ flexDirection: 'row',
11
+ justifyContent: 'center',
12
+ alignItems: 'center',
13
+ alignContent: 'center'
14
+ },
7
15
  header: {
8
- width: '100%',
16
+ width: '80%',
9
17
  flexDirection: 'row',
10
18
  alignItems: 'center',
11
19
  justifyContent: 'center',
12
20
  height: 70,
13
21
  paddingTop: 25
22
+ },
23
+ iconContainer: {
24
+ position: 'absolute',
25
+ right: 5,
26
+ bottom: 10,
27
+ borderRadius: 12,
28
+ padding: 5
29
+ },
30
+ icon: {
31
+ width: 12,
32
+ height: 12
14
33
  }
15
34
  });
16
35
 
17
36
  const ReviewHeader = props => {
18
37
  const {
19
- steps
38
+ steps,
39
+ onQuitClick
20
40
  } = props;
21
41
  return /*#__PURE__*/React.createElement(View, {
42
+ style: style.container
43
+ }, /*#__PURE__*/React.createElement(View, {
22
44
  style: style.header
23
45
  }, steps.map(step => /*#__PURE__*/React.createElement(Step, _extends({}, step, {
24
46
  key: step.value
25
- }))));
47
+ })))), /*#__PURE__*/React.createElement(Touchable, {
48
+ style: style.iconContainer,
49
+ isHighlight: true,
50
+ onPress: onQuitClick,
51
+ accessibilityLabel: "open-popin-button",
52
+ testID: "open-popin-button"
53
+ }, /*#__PURE__*/React.createElement(CloseIcon, {
54
+ style: style.icon,
55
+ color: "#06265B"
56
+ })));
26
57
  };
27
58
 
28
59
  export default ReviewHeader;
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","StyleSheet","View","Step","style","create","header","width","flexDirection","alignItems","justifyContent","height","paddingTop","ReviewHeader","props","steps","map","step","value"],"sources":["../../../src/organism/review-header/index.native.tsx"],"sourcesContent":["import React from 'react';\nimport {StyleSheet, View, ViewStyle} from 'react-native';\nimport Step from '../../atom/review-header-step-item/index.native';\nimport {HeaderProps} from './types';\n\ntype StyleSheetType = {\n header: ViewStyle;\n};\n\nconst style: StyleSheetType = StyleSheet.create({\n header: {\n width: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n height: 70,\n paddingTop: 25\n }\n});\n\nconst ReviewHeader = (props: HeaderProps) => {\n const {steps} = props;\n\n return (\n <View style={style.header}>\n {steps.map(step => (\n <Step {...step} key={step.value} />\n ))}\n </View>\n );\n};\n\nexport default ReviewHeader;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAQC,UAAR,EAAoBC,IAApB,QAA0C,cAA1C;AACA,OAAOC,IAAP,MAAiB,iDAAjB;AAOA,MAAMC,KAAqB,GAAGH,UAAU,CAACI,MAAX,CAAkB;EAC9CC,MAAM,EAAE;IACNC,KAAK,EAAE,MADD;IAENC,aAAa,EAAE,KAFT;IAGNC,UAAU,EAAE,QAHN;IAINC,cAAc,EAAE,QAJV;IAKNC,MAAM,EAAE,EALF;IAMNC,UAAU,EAAE;EANN;AADsC,CAAlB,CAA9B;;AAWA,MAAMC,YAAY,GAAIC,KAAD,IAAwB;EAC3C,MAAM;IAACC;EAAD,IAAUD,KAAhB;EAEA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEV,KAAK,CAACE;EAAnB,GACGS,KAAK,CAACC,GAAN,CAAUC,IAAI,iBACb,oBAAC,IAAD,eAAUA,IAAV;IAAgB,GAAG,EAAEA,IAAI,CAACC;EAA1B,GADD,CADH,CADF;AAOD,CAVD;;AAYA,eAAeL,YAAf"}
1
+ {"version":3,"file":"index.native.js","names":["React","StyleSheet","View","NovaSolidStatusClose","CloseIcon","Step","Touchable","style","create","container","flexDirection","justifyContent","alignItems","alignContent","header","width","height","paddingTop","iconContainer","position","right","bottom","borderRadius","padding","icon","ReviewHeader","props","steps","onQuitClick","map","step","value"],"sources":["../../../src/organism/review-header/index.native.tsx"],"sourcesContent":["import React from 'react';\nimport {StyleSheet, View, ViewStyle} from 'react-native';\nimport {NovaSolidStatusClose as CloseIcon} from '@coorpacademy/nova-icons';\nimport Step from '../../atom/review-header-step-item/index.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {HeaderProps} from './types';\n\ntype StyleSheetType = {\n container: ViewStyle;\n header: ViewStyle;\n iconContainer: ViewStyle;\n icon: ViewStyle;\n};\n\nconst style: StyleSheetType = StyleSheet.create({\n container: {\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n alignContent: 'center'\n },\n header: {\n width: '80%',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n height: 70,\n paddingTop: 25\n },\n iconContainer: {\n position: 'absolute',\n right: 5,\n bottom: 10,\n borderRadius: 12,\n padding: 5\n },\n icon: {\n width: 12,\n height: 12\n }\n});\n\nconst ReviewHeader = (props: HeaderProps) => {\n const {steps, onQuitClick} = props;\n\n return (\n <View style={style.container}>\n <View style={style.header}>\n {steps.map(step => (\n <Step {...step} key={step.value} />\n ))}\n </View>\n <Touchable\n style={style.iconContainer}\n isHighlight\n onPress={onQuitClick}\n accessibilityLabel=\"open-popin-button\"\n testID=\"open-popin-button\"\n >\n <CloseIcon style={style.icon} color=\"#06265B\" />\n </Touchable>\n </View>\n );\n};\n\nexport default ReviewHeader;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAQC,UAAR,EAAoBC,IAApB,QAA0C,cAA1C;AACA,SAAQC,oBAAoB,IAAIC,SAAhC,QAAgD,0BAAhD;AACA,OAAOC,IAAP,MAAiB,iDAAjB;AACA,OAAOC,SAAP,MAAsB,kCAAtB;AAUA,MAAMC,KAAqB,GAAGN,UAAU,CAACO,MAAX,CAAkB;EAC9CC,SAAS,EAAE;IACTC,aAAa,EAAE,KADN;IAETC,cAAc,EAAE,QAFP;IAGTC,UAAU,EAAE,QAHH;IAITC,YAAY,EAAE;EAJL,CADmC;EAO9CC,MAAM,EAAE;IACNC,KAAK,EAAE,KADD;IAENL,aAAa,EAAE,KAFT;IAGNE,UAAU,EAAE,QAHN;IAIND,cAAc,EAAE,QAJV;IAKNK,MAAM,EAAE,EALF;IAMNC,UAAU,EAAE;EANN,CAPsC;EAe9CC,aAAa,EAAE;IACbC,QAAQ,EAAE,UADG;IAEbC,KAAK,EAAE,CAFM;IAGbC,MAAM,EAAE,EAHK;IAIbC,YAAY,EAAE,EAJD;IAKbC,OAAO,EAAE;EALI,CAf+B;EAsB9CC,IAAI,EAAE;IACJT,KAAK,EAAE,EADH;IAEJC,MAAM,EAAE;EAFJ;AAtBwC,CAAlB,CAA9B;;AA4BA,MAAMS,YAAY,GAAIC,KAAD,IAAwB;EAC3C,MAAM;IAACC,KAAD;IAAQC;EAAR,IAAuBF,KAA7B;EAEA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEnB,KAAK,CAACE;EAAnB,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAEF,KAAK,CAACO;EAAnB,GACGa,KAAK,CAACE,GAAN,CAAUC,IAAI,iBACb,oBAAC,IAAD,eAAUA,IAAV;IAAgB,GAAG,EAAEA,IAAI,CAACC;EAA1B,GADD,CADH,CADF,eAME,oBAAC,SAAD;IACE,KAAK,EAAExB,KAAK,CAACW,aADf;IAEE,WAAW,MAFb;IAGE,OAAO,EAAEU,WAHX;IAIE,kBAAkB,EAAC,mBAJrB;IAKE,MAAM,EAAC;EALT,gBAOE,oBAAC,SAAD;IAAW,KAAK,EAAErB,KAAK,CAACiB,IAAxB;IAA8B,KAAK,EAAC;EAApC,EAPF,CANF,CADF;AAkBD,CArBD;;AAuBA,eAAeC,YAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.js"],"names":[],"mappings":";AAiIA,sDA8CC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.js"],"names":[],"mappings":";AA6JA,sDA8CC"}
@@ -1,6 +1,6 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
- import React, { useMemo } from 'react';
3
+ import React, { useMemo, useEffect } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import classnames from 'classnames';
6
6
  import get from 'lodash/fp/get';
@@ -38,7 +38,22 @@ const CorrectionPopin = ({
38
38
  information,
39
39
  type: correctionPopinProps.type,
40
40
  resultLabel: correctionPopinProps.resultLabel
41
- };
41
+ }; // there is an error of eslint here because this useEffect will be only there when the correctionPopin will be there
42
+ // but that is on purpose to go to the next slide if you press enter when the correctionPopin is present
43
+ // istanbul ignore next
44
+ // eslint-disable-next-line react-hooks/rules-of-hooks
45
+
46
+ useEffect(() => {
47
+ const keyDownHandler = event => {
48
+ if (event.key === 'Enter' || event.key === ' ') {
49
+ event.preventDefault();
50
+ onClick();
51
+ document.removeEventListener('keydown', keyDownHandler);
52
+ }
53
+ };
54
+
55
+ document.addEventListener('keydown', keyDownHandler);
56
+ }, []);
42
57
  return /*#__PURE__*/React.createElement("div", {
43
58
  className: classnames(style.correctionPopinWrapper, animateCorrectionPopin ? style.popinAnimation : null)
44
59
  }, /*#__PURE__*/React.createElement(ReviewCorrectionPopin, _correctionPopinProps));
@@ -73,6 +88,20 @@ const ValidateButton = ({
73
88
  backgroundColor: primarySkinColor
74
89
  }
75
90
  };
91
+ /* istanbul ignore next */
92
+
93
+ useEffect(() => {
94
+ const keyDownHandler = event => {
95
+ if (event.key === 'Enter' || event.key === ' ') {
96
+ event.preventDefault();
97
+ }
98
+ };
99
+
100
+ if (disabled) document.addEventListener('keydown', keyDownHandler);
101
+ return () => {
102
+ document.removeEventListener('keydown', keyDownHandler);
103
+ };
104
+ }, [disabled]);
76
105
  return /*#__PURE__*/React.createElement("div", {
77
106
  key: "button-wrapper",
78
107
  className: style.validateButtonWrapper
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","classnames","get","getOr","Answer","ButtonLink","Loader","ReviewCorrectionPopin","GetSkinFromContext","propTypes","style","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","onClick","_correctionPopinProps","type","resultLabel","correctionPopinWrapper","popinAnimation","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","disabledContent","loader"],"sources":["../../../src/organism/review-slide/index.js"],"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 ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\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 const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\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\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, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n data-testid=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n data-testid=\"slide-question\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div\n key=\"help\"\n className={style.help}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: get('help', answerUI)}}\n />\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} 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 disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n disabledContent,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-testid=\"review-slide\" 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 disableContent={disabledContent}\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\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","useEffect","PropTypes","classnames","get","getOr","Answer","ButtonLink","Loader","ReviewCorrectionPopin","GetSkinFromContext","propTypes","style","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","onClick","_correctionPopinProps","type","resultLabel","keyDownHandler","event","key","preventDefault","document","removeEventListener","addEventListener","correctionPopinWrapper","popinAnimation","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","disabledContent","loader"],"sources":["../../../src/organism/review-slide/index.js"],"sourcesContent":["import React, {useMemo, useEffect} 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 ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\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 const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\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 // there is an error of eslint here because this useEffect will be only there when the correctionPopin will be there\n // but that is on purpose to go to the next slide if you press enter when the correctionPopin is present\n // istanbul ignore next\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n const keyDownHandler = event => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onClick();\n document.removeEventListener('keydown', keyDownHandler);\n }\n };\n document.addEventListener('keydown', keyDownHandler);\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\n /* istanbul ignore next */\n useEffect(() => {\n const keyDownHandler = event => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n }\n };\n if (disabled) document.addEventListener('keydown', keyDownHandler);\n return () => {\n document.removeEventListener('keydown', keyDownHandler);\n };\n }, [disabled]);\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, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n data-testid=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n data-testid=\"slide-question\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div\n key=\"help\"\n className={style.help}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: get('help', answerUI)}}\n />\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} 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 disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n disabledContent,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-testid=\"review-slide\" 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 disableContent={disabledContent}\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\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,EAAwBC,SAAxB,QAAwC,OAAxC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,MAAP,MAAmB,uBAAnB;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,qBAAP,MAAkC,wCAAlC;AACA,SAAQC,kBAAR,QAAiC,qBAAjC;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,eAAe,GAAG,CAAC;EACvBC,oBADuB;EAEvBC,UAFuB;EAGvBC,mBAHuB;EAIvBC;AAJuB,CAAD,KAKlB;EACJ,IAAI,CAACD,mBAAL,EAA0B,OAAO,IAAP;EAE1B,MAAME,GAAG,GAAGb,KAAK,CAAC,EAAD,EAAK,KAAL,EAAYS,oBAAZ,CAAjB;EACA,MAAMK,WAAW,GAAGd,KAAK,CAAC;IAACe,KAAK,EAAE,EAAR;IAAYC,OAAO,EAAE;EAArB,CAAD,EAA2B,aAA3B,EAA0CP,oBAA1C,CAAzB;EACA,MAAMQ,IAAI,GAAGlB,GAAG,CAAC,MAAD,EAASU,oBAAT,CAAhB;EACA,MAAMS,OAAO,GAAGnB,GAAG,CAAC,CAAC,MAAD,EAAS,SAAT,CAAD,EAAsBU,oBAAtB,CAAnB;EAEA,MAAMU,qBAAqB,GAAG;IAC5BF,IAAI,EAAE;MACJC,OADI;MAEJH,KAAK,EAAEE,IAAI,IAAIA,IAAI,CAACF,KAFhB;MAGJ,aAAc,wBAAuBL,UAAW,EAH5C;MAIJ,cAAcO,IAAI,IAAIA,IAAI,CAAC,YAAD;IAJtB,CADsB;IAO5BJ,GAP4B;IAQ5BC,WAR4B;IAS5BM,IAAI,EAAEX,oBAAoB,CAACW,IATC;IAU5BC,WAAW,EAAEZ,oBAAoB,CAACY;EAVN,CAA9B,CARI,CAqBJ;EACA;EACA;EACA;;EACAzB,SAAS,CAAC,MAAM;IACd,MAAM0B,cAAc,GAAGC,KAAK,IAAI;MAC9B,IAAIA,KAAK,CAACC,GAAN,KAAc,OAAd,IAAyBD,KAAK,CAACC,GAAN,KAAc,GAA3C,EAAgD;QAC9CD,KAAK,CAACE,cAAN;QACAP,OAAO;QACPQ,QAAQ,CAACC,mBAAT,CAA6B,SAA7B,EAAwCL,cAAxC;MACD;IACF,CAND;;IAOAI,QAAQ,CAACE,gBAAT,CAA0B,SAA1B,EAAqCN,cAArC;EACD,CATQ,EASN,EATM,CAAT;EAWA,oBACE;IACE,SAAS,EAAExB,UAAU,CACnBS,KAAK,CAACsB,sBADa,EAEnBjB,sBAAsB,GAAGL,KAAK,CAACuB,cAAT,GAA0B,IAF7B;EADvB,gBAME,oBAAC,qBAAD,EAA2BX,qBAA3B,CANF,CADF;AAUD,CAnDD;;AAqDAX,eAAe,CAACF,SAAhB,2CAA4B;EAC1BI,UAAU,EAAEb,SAAS,CAACkC,MADI;EAE1BpB,mBAAmB,EAAEd,SAAS,CAACmC,IAFL;EAG1BpB,sBAAsB,EAAEf,SAAS,CAACmC,IAHR;EAI1BvB,oBAAoB,EAAEH,SAAS,CAACG;AAJN,CAA5B;;AAOA,MAAMwB,cAAc,GAAG,CAAC;EAACvB,UAAD;EAAawB,cAAb;EAA6BC;AAA7B,CAAD,KAAoD;EACzE,MAAM;IAACpB,KAAD;IAAQG,OAAR;IAAiBkB;EAAjB,IAA6BF,cAAnC;EACA,MAAMG,mBAAmB,GAAG;IAC1BjB,IAAI,EAAE,SADoB;IAE1BL,KAF0B;IAG1B,cAAcA,KAHY;IAI1B,aAAc,yBAAwBL,UAAW,EAJvB;IAK1BQ,OAL0B;IAM1BkB,QAN0B;IAO1BE,SAAS,EAAE/B,KAAK,CAAC2B,cAPS;IAQ1BK,WAAW,EAAE;MACXC,eAAe,EAAEL;IADN;EARa,CAA5B;EAaA;;EACAvC,SAAS,CAAC,MAAM;IACd,MAAM0B,cAAc,GAAGC,KAAK,IAAI;MAC9B,IAAIA,KAAK,CAACC,GAAN,KAAc,OAAd,IAAyBD,KAAK,CAACC,GAAN,KAAc,GAA3C,EAAgD;QAC9CD,KAAK,CAACE,cAAN;MACD;IACF,CAJD;;IAKA,IAAIW,QAAJ,EAAcV,QAAQ,CAACE,gBAAT,CAA0B,SAA1B,EAAqCN,cAArC;IACd,OAAO,MAAM;MACXI,QAAQ,CAACC,mBAAT,CAA6B,SAA7B,EAAwCL,cAAxC;IACD,CAFD;EAGD,CAVQ,EAUN,CAACc,QAAD,CAVM,CAAT;EAYA,oBACE;IAAK,GAAG,EAAC,gBAAT;IAA0B,SAAS,EAAE7B,KAAK,CAACkC;EAA3C,gBACE,oBAAC,UAAD,EAAgBJ,mBAAhB,CADF,CADF;AAKD,CAjCD;;AAmCAJ,cAAc,CAAC3B,SAAf,2CAA2B;EACzBI,UAAU,EAAEb,SAAS,CAACkC,MADG;EAEzBG,cAAc,EAAE5B,SAAS,CAAC4B,cAFD;EAGzBC,gBAAgB,EAAEtC,SAAS,CAACkC;AAHH,CAA3B;;AAMA,MAAMW,iBAAiB,GAAGC,KAAK,IAAI;EACjC,MAAM;IAACC,QAAD;IAAWC,YAAX;IAAyBC,cAAzB;IAAyCC;EAAzC,IAA2DJ,KAAjE;EACA,IAAI,CAACC,QAAD,IAAa,CAACC,YAAlB,EAAgC,OAAO,IAAP;EAEhC,oBACE;IACE,GAAG,EAAC,mBADN;IAEE,eAAY,mBAFd;IAGE,SAAS,EAAE/C,UAAU,CACnBS,KAAK,CAACyC,qBADa,EAEnBD,cAAc,GAAGxC,KAAK,CAAC0C,oBAAT,GAAgC,IAF3B;EAHvB,gBAQE;IAAK,GAAG,EAAC,aAAT;IAAuB,SAAS,EAAE1C,KAAK,CAACuC;EAAxC,GACGA,cADH,CARF,eAWE;IACE,GAAG,EAAC,OADN;IAEE,eAAY,gBAFd;IAGE,SAAS,EAAEvC,KAAK,CAAC2C,QAHnB,CAIE;IAJF;IAKE,uBAAuB,EAAE;MAACC,MAAM,EAAEN;IAAT;EAL3B,EAXF,eAkBE;IACE,GAAG,EAAC,MADN;IAEE,SAAS,EAAEtC,KAAK,CAAC6C,IAFnB,CAGE;IAHF;IAIE,uBAAuB,EAAE;MAACD,MAAM,EAAEpD,GAAG,CAAC,MAAD,EAAS6C,QAAT;IAAZ;EAJ3B,EAlBF,eAwBE;IAAK,GAAG,EAAC,kBAAT;IAA4B,SAAS,EAAErC,KAAK,CAAC8C;EAA7C,gBACE,oBAAC,MAAD,eAAYT,QAAZ;IAAsB,GAAG,EAAC;EAA1B,GADF,CAxBF,CADF;AA8BD,CAlCD;;AAoCAF,iBAAiB,CAACpC,SAAlB,2CAA8B;EAC5BsC,QAAQ,EAAE/C,SAAS,CAACyD,KAAV,CAAgBhD,SAAS,CAACiD,KAAV,CAAgBX,QAAhC,CADkB;EAE5BC,YAAY,EAAEhD,SAAS,CAACkC,MAFI;EAG5Be,cAAc,EAAEjD,SAAS,CAACkC,MAHE;EAI5BgB,cAAc,EAAElD,SAAS,CAACmC;AAJE,CAA9B;;AAOA,MAAMwB,WAAW,GAAGb,KAAK,IAAI;EAC3B,MAAM;IAACY,KAAD;IAAQrB,cAAR;IAAwBzB,oBAAxB;IAA8CC,UAAU,GAAG;EAA3D,IAAkEiC,KAAxE;EAEA,MAAMc,IAAI,GAAGpD,kBAAkB,EAA/B;EACA,MAAM8B,gBAAgB,GAAGxC,OAAO,CAAC,MAAMK,KAAK,CAAC,SAAD,EAAY,gBAAZ,EAA8ByD,IAA9B,CAAZ,EAAiD,CAACA,IAAD,CAAjD,CAAhC;EACA,MAAM;IACJC,OADI;IAEJC,gBAFI;IAGJC,kBAHI;IAIJf,YAJI;IAKJgB,eALI;IAMJjB,QANI;IAOJjC,mBAPI;IAQJC;EARI,IASF2C,KATJ;EAWA,oBACE;IAAK,eAAY,cAAjB;IAAgC,SAAS,EAAEhD,KAAK,CAACgD;EAAjD,GACGG,OAAO,gBACN,oBAAC,MAAD;IAAQ,SAAS,EAAEnD,KAAK,CAACuD,MAAzB;IAAiC,KAAK,EAAC,SAAvC;IAAiD,cAAYH;EAA7D,EADM,gBAGN,uDACE,oBAAC,iBAAD;IACE,cAAc,EAAEC,kBADlB;IAEE,YAAY,EAAEf,YAFhB;IAGE,QAAQ,EAAED,QAHZ;IAIE,cAAc,EAAEiB,eAJlB;IAKE,GAAG,EAAC;EALN,EADF,eAQE,oBAAC,cAAD;IACE,UAAU,EAAEnD,UADd;IAEE,cAAc,EAAEwB,cAFlB;IAGE,gBAAgB,EAAEC,gBAHpB;IAIE,GAAG,EAAC;EAJN,EARF,eAcE,oBAAC,eAAD;IACE,oBAAoB,EAAE1B,oBADxB;IAEE,UAAU,EAAEC,UAFd;IAGE,mBAAmB,EAAEC,mBAHvB;IAIE,sBAAsB,EAAEC,sBAJ1B;IAKE,GAAG,EAAC;EALN,EAdF,CAJJ,CADF;AA8BD,CA9CD;;AAgDA4C,WAAW,CAAClD,SAAZ,2CAAwBA,SAAxB;AAEA,eAAekD,WAAf"}
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
  import { Animated, Easing, StyleSheet, useWindowDimensions } from 'react-native';
3
3
  import keys from 'lodash/fp/keys';
4
- import { useTranslateY } from '@coorpacademy/react-native-animation';
4
+ import { useAnimateProp, useTranslateY } from '@coorpacademy/react-native-animation';
5
5
  import Slide from '../review-slide/index.native';
6
6
  const style = StyleSheet.create({
7
7
  slides: {
@@ -40,11 +40,11 @@ const StackedSlides = props => {
40
40
  duration: 500,
41
41
  easing: Easing.cubic
42
42
  });
43
- const restackTranslation = useTranslateY({
44
- toValue: 0,
45
- fromValue: windowHeight,
46
- duration: 1200,
47
- easing: Easing.out(Easing.cubic)
43
+ const restackTranslation = useAnimateProp({
44
+ property: 'opacity',
45
+ toValue: 1,
46
+ fromValue: 0,
47
+ duration: 700
48
48
  });
49
49
  useEffect(() => {
50
50
  if (endReview) {