@coorpacademy/components 11.11.5-alpha.0 → 11.11.6

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 (158) hide show
  1. package/es/atom/battle-opponent/index.d.ts +20 -0
  2. package/es/atom/battle-opponent/index.d.ts.map +1 -0
  3. package/es/atom/battle-opponent/index.js +104 -0
  4. package/es/atom/battle-opponent/index.js.map +1 -0
  5. package/es/atom/battle-opponent/prop-types.d.ts +21 -0
  6. package/es/atom/battle-opponent/prop-types.d.ts.map +1 -0
  7. package/es/atom/battle-opponent/prop-types.js +12 -0
  8. package/es/atom/battle-opponent/prop-types.js.map +1 -0
  9. package/es/atom/battle-opponent/style.css +133 -0
  10. package/es/atom/{review-header-step-item → status-item}/index.d.ts +4 -4
  11. package/es/atom/status-item/index.d.ts.map +1 -0
  12. package/es/atom/status-item/index.js +104 -0
  13. package/es/atom/status-item/index.js.map +1 -0
  14. package/es/atom/status-item/index.native.d.ts +5 -0
  15. package/es/atom/status-item/index.native.d.ts.map +1 -0
  16. package/es/atom/{review-header-step-item → status-item}/index.native.js +2 -2
  17. package/es/atom/status-item/index.native.js.map +1 -0
  18. package/es/atom/{review-header-step-item → status-item}/style.css +47 -0
  19. package/es/atom/{review-header-step-item → status-item}/types.d.ts +5 -5
  20. package/es/atom/status-item/types.d.ts.map +1 -0
  21. package/es/atom/{review-header-step-item → status-item}/types.js +1 -1
  22. package/es/atom/status-item/types.js.map +1 -0
  23. package/es/atom/tooltip/index.d.ts +3 -1
  24. package/es/atom/tooltip/index.d.ts.map +1 -1
  25. package/es/atom/tooltip/index.js +18 -7
  26. package/es/atom/tooltip/index.js.map +1 -1
  27. package/es/atom/tooltip/style.css +11 -2
  28. package/es/globals.d.js.map +1 -1
  29. package/es/molecule/battle-opponent-list/index.d.ts +18 -0
  30. package/es/molecule/battle-opponent-list/index.d.ts.map +1 -0
  31. package/es/molecule/battle-opponent-list/index.js +25 -0
  32. package/es/molecule/battle-opponent-list/index.js.map +1 -0
  33. package/es/molecule/battle-opponent-list/prop-types.d.ts +26 -0
  34. package/es/molecule/battle-opponent-list/prop-types.d.ts.map +1 -0
  35. package/es/molecule/battle-opponent-list/prop-types.js +14 -0
  36. package/es/molecule/battle-opponent-list/prop-types.js.map +1 -0
  37. package/es/molecule/battle-opponent-list/style.css +5 -0
  38. package/es/molecule/review-header-steps/index.js +2 -2
  39. package/es/molecule/review-header-steps/index.js.map +1 -1
  40. package/es/molecule/review-header-steps/prop-types.d.ts +2 -2
  41. package/es/molecule/review-header-steps/prop-types.d.ts.map +1 -1
  42. package/es/molecule/review-header-steps/prop-types.js +1 -1
  43. package/es/molecule/review-header-steps/prop-types.js.map +1 -1
  44. package/es/organism/mooc-footer/style.css +1 -0
  45. package/es/organism/mooc-header/index.d.ts +3 -0
  46. package/es/organism/mooc-header/index.d.ts.map +1 -1
  47. package/es/organism/mooc-header/index.js +39 -4
  48. package/es/organism/mooc-header/index.js.map +1 -1
  49. package/es/organism/mooc-header/style.css +17 -1
  50. package/es/organism/review-header/index.native.js +1 -1
  51. package/es/organism/review-header/index.native.js.map +1 -1
  52. package/es/organism/review-header/types.d.ts +2 -2
  53. package/es/organism/review-header/types.d.ts.map +1 -1
  54. package/es/organism/review-header/types.js.map +1 -1
  55. package/es/organism/user-preferences/index.d.ts.map +1 -1
  56. package/es/organism/user-preferences/index.js +6 -3
  57. package/es/organism/user-preferences/index.js.map +1 -1
  58. package/es/variables/colors.css +2 -0
  59. package/lib/atom/battle-opponent/index.d.ts +20 -0
  60. package/lib/atom/battle-opponent/index.d.ts.map +1 -0
  61. package/lib/atom/battle-opponent/index.js +124 -0
  62. package/lib/atom/battle-opponent/index.js.map +1 -0
  63. package/lib/atom/battle-opponent/prop-types.d.ts +21 -0
  64. package/lib/atom/battle-opponent/prop-types.d.ts.map +1 -0
  65. package/lib/atom/battle-opponent/prop-types.js +21 -0
  66. package/lib/atom/battle-opponent/prop-types.js.map +1 -0
  67. package/lib/atom/battle-opponent/style.css +133 -0
  68. package/lib/atom/{review-header-step-item → status-item}/index.d.ts +4 -4
  69. package/lib/atom/status-item/index.d.ts.map +1 -0
  70. package/lib/atom/{review-header-step-item → status-item}/index.js +50 -23
  71. package/lib/atom/status-item/index.js.map +1 -0
  72. package/lib/atom/status-item/index.native.d.ts +5 -0
  73. package/lib/atom/status-item/index.native.d.ts.map +1 -0
  74. package/lib/atom/{review-header-step-item → status-item}/index.native.js +2 -2
  75. package/lib/atom/status-item/index.native.js.map +1 -0
  76. package/lib/atom/{review-header-step-item → status-item}/style.css +47 -0
  77. package/lib/atom/{review-header-step-item → status-item}/types.d.ts +5 -5
  78. package/lib/atom/status-item/types.d.ts.map +1 -0
  79. package/lib/atom/{review-header-step-item → status-item}/types.js +1 -1
  80. package/lib/atom/status-item/types.js.map +1 -0
  81. package/lib/atom/tooltip/index.d.ts +3 -1
  82. package/lib/atom/tooltip/index.d.ts.map +1 -1
  83. package/lib/atom/tooltip/index.js +19 -7
  84. package/lib/atom/tooltip/index.js.map +1 -1
  85. package/lib/atom/tooltip/style.css +11 -2
  86. package/lib/globals.d.js.map +1 -1
  87. package/lib/molecule/battle-opponent-list/index.d.ts +18 -0
  88. package/lib/molecule/battle-opponent-list/index.d.ts.map +1 -0
  89. package/lib/molecule/battle-opponent-list/index.js +43 -0
  90. package/lib/molecule/battle-opponent-list/index.js.map +1 -0
  91. package/lib/molecule/battle-opponent-list/prop-types.d.ts +26 -0
  92. package/lib/molecule/battle-opponent-list/prop-types.d.ts.map +1 -0
  93. package/lib/molecule/battle-opponent-list/prop-types.js +23 -0
  94. package/lib/molecule/battle-opponent-list/prop-types.js.map +1 -0
  95. package/lib/molecule/battle-opponent-list/style.css +5 -0
  96. package/lib/molecule/review-header-steps/index.js +2 -2
  97. package/lib/molecule/review-header-steps/index.js.map +1 -1
  98. package/lib/molecule/review-header-steps/prop-types.d.ts +2 -2
  99. package/lib/molecule/review-header-steps/prop-types.d.ts.map +1 -1
  100. package/lib/molecule/review-header-steps/prop-types.js +1 -1
  101. package/lib/molecule/review-header-steps/prop-types.js.map +1 -1
  102. package/lib/organism/mooc-footer/style.css +1 -0
  103. package/lib/organism/mooc-header/index.d.ts +3 -0
  104. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  105. package/lib/organism/mooc-header/index.js +39 -4
  106. package/lib/organism/mooc-header/index.js.map +1 -1
  107. package/lib/organism/mooc-header/style.css +17 -1
  108. package/lib/organism/review-header/index.native.js +1 -1
  109. package/lib/organism/review-header/index.native.js.map +1 -1
  110. package/lib/organism/review-header/types.d.ts +2 -2
  111. package/lib/organism/review-header/types.d.ts.map +1 -1
  112. package/lib/organism/review-header/types.js.map +1 -1
  113. package/lib/organism/user-preferences/index.d.ts.map +1 -1
  114. package/lib/organism/user-preferences/index.js +10 -3
  115. package/lib/organism/user-preferences/index.js.map +1 -1
  116. package/lib/variables/colors.css +2 -0
  117. package/locales/bs/global.json +8 -5
  118. package/locales/cs/global.json +8 -5
  119. package/locales/de/global.json +8 -5
  120. package/locales/en/global.json +8 -5
  121. package/locales/es/global.json +8 -5
  122. package/locales/et/global.json +8 -5
  123. package/locales/fr/global.json +8 -5
  124. package/locales/hr/global.json +8 -5
  125. package/locales/hu/global.json +8 -5
  126. package/locales/hy/global.json +8 -5
  127. package/locales/it/global.json +8 -5
  128. package/locales/ja/global.json +8 -5
  129. package/locales/ko/global.json +8 -5
  130. package/locales/nl/global.json +8 -5
  131. package/locales/pl/global.json +8 -5
  132. package/locales/pt/global.json +8 -5
  133. package/locales/ro/global.json +8 -5
  134. package/locales/ru/global.json +8 -5
  135. package/locales/sk/global.json +8 -5
  136. package/locales/th/global.json +8 -5
  137. package/locales/tl/global.json +8 -5
  138. package/locales/tr/global.json +8 -5
  139. package/locales/uk/global.json +8 -5
  140. package/locales/vi/global.json +8 -5
  141. package/locales/zh/global.json +8 -5
  142. package/locales/zh_TW/global.json +8 -5
  143. package/package.json +3 -2
  144. package/es/atom/review-header-step-item/index.d.ts.map +0 -1
  145. package/es/atom/review-header-step-item/index.js +0 -77
  146. package/es/atom/review-header-step-item/index.js.map +0 -1
  147. package/es/atom/review-header-step-item/index.native.d.ts +0 -5
  148. package/es/atom/review-header-step-item/index.native.d.ts.map +0 -1
  149. package/es/atom/review-header-step-item/index.native.js.map +0 -1
  150. package/es/atom/review-header-step-item/types.d.ts.map +0 -1
  151. package/es/atom/review-header-step-item/types.js.map +0 -1
  152. package/lib/atom/review-header-step-item/index.d.ts.map +0 -1
  153. package/lib/atom/review-header-step-item/index.js.map +0 -1
  154. package/lib/atom/review-header-step-item/index.native.d.ts +0 -5
  155. package/lib/atom/review-header-step-item/index.native.d.ts.map +0 -1
  156. package/lib/atom/review-header-step-item/index.native.js.map +0 -1
  157. package/lib/atom/review-header-step-item/types.d.ts.map +0 -1
  158. package/lib/atom/review-header-step-item/types.js.map +0 -1
@@ -34,12 +34,20 @@
34
34
  position: absolute;
35
35
  border-radius: 7px;
36
36
  background-color: cm_grey_700;
37
- right: -75px;
38
- bottom: 32px;
39
37
  height: auto;
40
38
  width: 200px;
41
39
  }
42
40
 
41
+ .bigIconToolTip {
42
+ right: -71px;
43
+ bottom: 31px;
44
+ }
45
+
46
+ .smallIconToolTip {
47
+ right: -75px;
48
+ bottom: 32px;
49
+ }
50
+
43
51
  .toolTip::before {
44
52
  content: '';
45
53
  display: inline-block;
@@ -88,6 +96,7 @@
88
96
  visibility: visible !important;
89
97
  opacity: 1 !important;
90
98
  left: 5px;
99
+ max-width: 400px;
91
100
  }
92
101
 
93
102
  /* for keyboard navigation, the position can't be obtained from the mouse */
@@ -1 +1 @@
1
- {"version":3,"file":"globals.d.js","names":[],"sources":["../src/globals.d.ts"],"sourcesContent":["declare module '@coorpacademy/nova-icons';\ndeclare module '@coorpacademy/react-native-slider';\ndeclare module '@react-native-community/blur';\ndeclare module '@coorpacademy/translate';\ndeclare module 'react-native/*';\ndeclare module 'color';\ndeclare module 'classnames';\ndeclare module '*.css';\n"],"mappings":""}
1
+ {"version":3,"file":"globals.d.js","names":[],"sources":["../src/globals.d.ts"],"sourcesContent":["declare module '@coorpacademy/nova-icons';\ndeclare module '@coorpacademy/react-native-slider';\ndeclare module '@react-native-community/blur';\ndeclare module '@coorpacademy/translate';\ndeclare module 'browser-env';\ndeclare module 'react-native/*';\ndeclare module 'color';\ndeclare module 'classnames';\ndeclare module '*.css';\n"],"mappings":""}
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ import { BattleOpponentListProps } from './prop-types';
3
+ declare const BattleOpponentList: {
4
+ ({ opponents }: BattleOpponentListProps): JSX.Element;
5
+ propTypes: {
6
+ opponents: import("prop-types").Requireable<(import("prop-types").InferProps<{
7
+ isAlreadyEngaged: import("prop-types").Requireable<boolean>;
8
+ isRandom: import("prop-types").Requireable<boolean>;
9
+ photo: import("prop-types").Requireable<string>;
10
+ onClick: import("prop-types").Requireable<(...args: any[]) => any>;
11
+ displayName: import("prop-types").Requireable<string>;
12
+ tooltipText: import("prop-types").Requireable<string>;
13
+ user_id: import("prop-types").Requireable<string>;
14
+ }> | null | undefined)[]>;
15
+ };
16
+ };
17
+ export default BattleOpponentList;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/battle-opponent-list/index.tsx"],"names":[],"mappings":";AAKA,OAAkB,EAAC,uBAAuB,EAAC,MAAM,cAAc,CAAC;AAGhE,QAAA,MAAM,kBAAkB;oBAAiB,uBAAuB;;;;;;;;;;;;CAiB/D,CAAC;AAIF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ var _get = _interopRequireDefault(require("lodash/fp/get"));
9
+
10
+ var _map = _interopRequireDefault(require("lodash/fp/map"));
11
+
12
+ var _uuid = require("uuid");
13
+
14
+ var _battleOpponent = _interopRequireDefault(require("../../atom/battle-opponent"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("./prop-types"));
17
+
18
+ var _style = _interopRequireDefault(require("./style.css"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ 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); }
27
+
28
+ const BattleOpponentList = ({
29
+ opponents
30
+ }) => {
31
+ const opponentList = (0, _react.useMemo)(() => (0, _map.default)(opponent => /*#__PURE__*/_react.default.createElement(_battleOpponent.default, _extends({}, opponent, {
32
+ key: (0, _uuid.v5)('battle-', _uuid.v5.URL),
33
+ userAvatarSrc: (0, _get.default)('photo', opponent)
34
+ })), opponents), [opponents]);
35
+ return /*#__PURE__*/_react.default.createElement("ul", {
36
+ className: _style.default.opponentList
37
+ }, opponentList);
38
+ };
39
+
40
+ BattleOpponentList.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
41
+ var _default = BattleOpponentList;
42
+ exports.default = _default;
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["BattleOpponentList","opponents","opponentList","useMemo","map","opponent","uuidV5","URL","get","style","propTypes"],"sources":["../../../src/molecule/battle-opponent-list/index.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\nimport get from 'lodash/fp/get';\nimport map from 'lodash/fp/map';\nimport {v5 as uuidV5} from 'uuid';\nimport BattleOpponent from '../../atom/battle-opponent';\nimport propTypes, {BattleOpponentListProps} from './prop-types';\nimport style from './style.css';\n\nconst BattleOpponentList = ({opponents}: BattleOpponentListProps) => {\n const opponentList = useMemo(\n () =>\n map(\n opponent => (\n <BattleOpponent\n {...opponent}\n key={uuidV5('battle-', uuidV5.URL)}\n userAvatarSrc={get('photo', opponent)}\n />\n ),\n opponents\n ),\n [opponents]\n );\n\n return <ul className={style.opponentList}>{opponentList}</ul>;\n};\n\nBattleOpponentList.propTypes = propTypes;\n\nexport default BattleOpponentList;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,kBAAkB,GAAG,CAAC;EAACC;AAAD,CAAD,KAA0C;EACnE,MAAMC,YAAY,GAAG,IAAAC,cAAA,EACnB,MACE,IAAAC,YAAA,EACEC,QAAQ,iBACN,6BAAC,uBAAD,eACMA,QADN;IAEE,GAAG,EAAE,IAAAC,QAAA,EAAO,SAAP,EAAkBA,QAAA,CAAOC,GAAzB,CAFP;IAGE,aAAa,EAAE,IAAAC,YAAA,EAAI,OAAJ,EAAaH,QAAb;EAHjB,GAFJ,EAQEJ,SARF,CAFiB,EAYnB,CAACA,SAAD,CAZmB,CAArB;EAeA,oBAAO;IAAI,SAAS,EAAEQ,cAAA,CAAMP;EAArB,GAAoCA,YAApC,CAAP;AACD,CAjBD;;AAmBAF,kBAAkB,CAACU,SAAnB,2CAA+BA,kBAA/B;eAEeV,kB"}
@@ -0,0 +1,26 @@
1
+ import PropTypes from 'prop-types';
2
+ declare const propTypes: {
3
+ opponents: PropTypes.Requireable<(PropTypes.InferProps<{
4
+ isAlreadyEngaged: PropTypes.Requireable<boolean>;
5
+ isRandom: PropTypes.Requireable<boolean>;
6
+ photo: PropTypes.Requireable<string>;
7
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
8
+ displayName: PropTypes.Requireable<string>;
9
+ tooltipText: PropTypes.Requireable<string>;
10
+ user_id: PropTypes.Requireable<string>;
11
+ }> | null | undefined)[]>;
12
+ };
13
+ declare type MoocBattleOpponent = {
14
+ isAlreadyEngaged?: boolean;
15
+ isRandom?: boolean;
16
+ photo?: string;
17
+ onClick?: () => void;
18
+ displayName: string;
19
+ tooltipText: string;
20
+ user_id: string;
21
+ };
22
+ export declare type BattleOpponentListProps = {
23
+ opponents: MoocBattleOpponent[];
24
+ };
25
+ export default propTypes;
26
+ //# sourceMappingURL=prop-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/molecule/battle-opponent-list/prop-types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,QAAA,MAAM,SAAS;;;;;;;;;;CAYd,CAAC;AAEF,aAAK,kBAAkB,GAAG;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IAAC,SAAS,EAAE,kBAAkB,EAAE,CAAA;CAAC,CAAC;AAExE,eAAe,SAAS,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
+
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+
10
+ const propTypes = {
11
+ opponents: _propTypes.default.arrayOf(_propTypes.default.shape({
12
+ isAlreadyEngaged: _propTypes.default.bool,
13
+ isRandom: _propTypes.default.bool,
14
+ photo: _propTypes.default.string,
15
+ onClick: _propTypes.default.func,
16
+ displayName: _propTypes.default.string,
17
+ tooltipText: _propTypes.default.string,
18
+ user_id: _propTypes.default.string
19
+ }))
20
+ };
21
+ var _default = propTypes;
22
+ exports.default = _default;
23
+ //# sourceMappingURL=prop-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prop-types.js","names":["propTypes","opponents","PropTypes","arrayOf","shape","isAlreadyEngaged","bool","isRandom","photo","string","onClick","func","displayName","tooltipText","user_id"],"sources":["../../../src/molecule/battle-opponent-list/prop-types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst propTypes = {\n opponents: PropTypes.arrayOf(\n PropTypes.shape({\n isAlreadyEngaged: PropTypes.bool,\n isRandom: PropTypes.bool,\n photo: PropTypes.string,\n onClick: PropTypes.func,\n displayName: PropTypes.string,\n tooltipText: PropTypes.string,\n user_id: PropTypes.string\n })\n )\n};\n\ntype MoocBattleOpponent = {\n isAlreadyEngaged?: boolean;\n isRandom?: boolean;\n photo?: string;\n onClick?: () => void;\n displayName: string;\n tooltipText: string;\n user_id: string;\n};\n\nexport type BattleOpponentListProps = {opponents: MoocBattleOpponent[]};\n\nexport default propTypes;\n"],"mappings":";;;;;AAAA;;;;AAEA,MAAMA,SAAS,GAAG;EAChBC,SAAS,EAAEC,kBAAA,CAAUC,OAAV,CACTD,kBAAA,CAAUE,KAAV,CAAgB;IACdC,gBAAgB,EAAEH,kBAAA,CAAUI,IADd;IAEdC,QAAQ,EAAEL,kBAAA,CAAUI,IAFN;IAGdE,KAAK,EAAEN,kBAAA,CAAUO,MAHH;IAIdC,OAAO,EAAER,kBAAA,CAAUS,IAJL;IAKdC,WAAW,EAAEV,kBAAA,CAAUO,MALT;IAMdI,WAAW,EAAEX,kBAAA,CAAUO,MANT;IAOdK,OAAO,EAAEZ,kBAAA,CAAUO;EAPL,CAAhB,CADS;AADK,CAAlB;eA0BeT,S"}
@@ -0,0 +1,5 @@
1
+ .opponentList {
2
+ margin: 0;
3
+ padding: 0;
4
+ display: contents;
5
+ }
@@ -7,7 +7,7 @@ var _react = _interopRequireDefault(require("react"));
7
7
 
8
8
  var _map = _interopRequireDefault(require("lodash/fp/map"));
9
9
 
10
- var _reviewHeaderStepItem = _interopRequireDefault(require("../../atom/review-header-step-item"));
10
+ var _statusItem = _interopRequireDefault(require("../../atom/status-item"));
11
11
 
12
12
  var _style = _interopRequireDefault(require("./style.css"));
13
13
 
@@ -24,7 +24,7 @@ const ReviewHeaderSteps = props => {
24
24
 
25
25
  const items = _map.default.convert({
26
26
  cap: false
27
- })((step, index) => /*#__PURE__*/_react.default.createElement(_reviewHeaderStepItem.default, _extends({}, step, {
27
+ })((step, index) => /*#__PURE__*/_react.default.createElement(_statusItem.default, _extends({}, step, {
28
28
  key: index
29
29
  })), steps);
30
30
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ReviewHeaderSteps","props","steps","items","map","convert","cap","step","index","style","wrapper","propTypes"],"sources":["../../../src/molecule/review-header-steps/index.js"],"sourcesContent":["import React from 'react';\nimport map from 'lodash/fp/map';\nimport ReviewHeaderStepItem from '../../atom/review-header-step-item';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst ReviewHeaderSteps = props => {\n const {steps} = props;\n\n const items = map.convert({cap: false})(\n (step, index) => <ReviewHeaderStepItem {...step} key={index} />,\n steps\n );\n\n return (\n <div className={style.wrapper} data-name=\"header-steps\">\n {items}\n </div>\n );\n};\n\nReviewHeaderSteps.propTypes = propTypes;\n\nexport default ReviewHeaderSteps;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,iBAAiB,GAAGC,KAAK,IAAI;EACjC,MAAM;IAACC;EAAD,IAAUD,KAAhB;;EAEA,MAAME,KAAK,GAAGC,YAAA,CAAIC,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EACZ,CAACC,IAAD,EAAOC,KAAP,kBAAiB,6BAAC,6BAAD,eAA0BD,IAA1B;IAAgC,GAAG,EAAEC;EAArC,GADL,EAEZN,KAFY,CAAd;;EAKA,oBACE;IAAK,SAAS,EAAEO,cAAA,CAAMC,OAAtB;IAA+B,aAAU;EAAzC,GACGP,KADH,CADF;AAKD,CAbD;;AAeAH,iBAAiB,CAACW,SAAlB,2CAA8BA,kBAA9B;eAEeX,iB"}
1
+ {"version":3,"file":"index.js","names":["ReviewHeaderSteps","props","steps","items","map","convert","cap","step","index","style","wrapper","propTypes"],"sources":["../../../src/molecule/review-header-steps/index.js"],"sourcesContent":["import React from 'react';\nimport map from 'lodash/fp/map';\nimport StatusItem from '../../atom/status-item';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst ReviewHeaderSteps = props => {\n const {steps} = props;\n\n const items = map.convert({cap: false})(\n (step, index) => <StatusItem {...step} key={index} />,\n steps\n );\n\n return (\n <div className={style.wrapper} data-name=\"header-steps\">\n {items}\n </div>\n );\n};\n\nReviewHeaderSteps.propTypes = propTypes;\n\nexport default ReviewHeaderSteps;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,iBAAiB,GAAGC,KAAK,IAAI;EACjC,MAAM;IAACC;EAAD,IAAUD,KAAhB;;EAEA,MAAME,KAAK,GAAGC,YAAA,CAAIC,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EACZ,CAACC,IAAD,EAAOC,KAAP,kBAAiB,6BAAC,mBAAD,eAAgBD,IAAhB;IAAsB,GAAG,EAAEC;EAA3B,GADL,EAEZN,KAFY,CAAd;;EAKA,oBACE;IAAK,SAAS,EAAEO,cAAA,CAAMC,OAAtB;IAA+B,aAAU;EAAzC,GACGP,KADH,CADF;AAKD,CAbD;;AAeAH,iBAAiB,CAACW,SAAlB,2CAA8BA,kBAA9B;eAEeX,iB"}
@@ -1,5 +1,5 @@
1
1
  import PropTypes from 'prop-types';
2
- import { HeaderStepItemProps } from '../../atom/review-header-step-item/types';
2
+ import { StatusItemProps } from '../../atom/status-item/types';
3
3
  declare const propTypes: {
4
4
  steps: PropTypes.Requireable<(PropTypes.InferProps<{
5
5
  current: PropTypes.Requireable<boolean>;
@@ -9,6 +9,6 @@ declare const propTypes: {
9
9
  };
10
10
  export default propTypes;
11
11
  export declare type ReviewHeaderStepsProps = {
12
- steps: HeaderStepItemProps[];
12
+ steps: StatusItemProps[];
13
13
  };
14
14
  //# sourceMappingURL=prop-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/molecule/review-header-steps/prop-types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAsC,EACpC,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAElD,QAAA,MAAM,SAAS;;;;;;CAEd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,sBAAsB,GAAG;IACnC,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B,CAAC"}
1
+ {"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/molecule/review-header-steps/prop-types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAsC,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAE5F,QAAA,MAAM,SAAS;;;;;;CAEd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,sBAAsB,GAAG;IACnC,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC"}
@@ -5,7 +5,7 @@ exports.default = void 0;
5
5
 
6
6
  var _propTypes = _interopRequireDefault(require("prop-types"));
7
7
 
8
- var _types = _interopRequireDefault(require("../../atom/review-header-step-item/types"));
8
+ var _types = _interopRequireDefault(require("../../atom/status-item/types"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"prop-types.js","names":["propTypes","steps","PropTypes","arrayOf","shape","ReviewHeaderStepItemPropTypes"],"sources":["../../../src/molecule/review-header-steps/prop-types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nimport ReviewHeaderStepItemPropTypes, {\n HeaderStepItemProps\n} from '../../atom/review-header-step-item/types';\n\nconst propTypes = {\n steps: PropTypes.arrayOf(PropTypes.shape(ReviewHeaderStepItemPropTypes))\n};\n\nexport default propTypes;\n\nexport type ReviewHeaderStepsProps = {\n steps: HeaderStepItemProps[];\n};\n"],"mappings":";;;;;AAAA;;AAEA;;;;AAIA,MAAMA,SAAS,GAAG;EAChBC,KAAK,EAAEC,kBAAA,CAAUC,OAAV,CAAkBD,kBAAA,CAAUE,KAAV,CAAgBC,cAAhB,CAAlB;AADS,CAAlB;eAIeL,S"}
1
+ {"version":3,"file":"prop-types.js","names":["propTypes","steps","PropTypes","arrayOf","shape","ReviewHeaderStepItemPropTypes"],"sources":["../../../src/molecule/review-header-steps/prop-types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nimport ReviewHeaderStepItemPropTypes, {StatusItemProps} from '../../atom/status-item/types';\n\nconst propTypes = {\n steps: PropTypes.arrayOf(PropTypes.shape(ReviewHeaderStepItemPropTypes))\n};\n\nexport default propTypes;\n\nexport type ReviewHeaderStepsProps = {\n steps: StatusItemProps[];\n};\n"],"mappings":";;;;;AAAA;;AAEA;;;;AAEA,MAAMA,SAAS,GAAG;EAChBC,KAAK,EAAEC,kBAAA,CAAUC,OAAV,CAAkBD,kBAAA,CAAUE,KAAV,CAAgBC,cAAhB,CAAlB;AADS,CAAlB;eAIeL,S"}
@@ -116,6 +116,7 @@
116
116
  .pageLink:hover {
117
117
  color: white;
118
118
  font-weight: bold;
119
+ text-decoration: underline;
119
120
  }
120
121
 
121
122
  .logoSocialNetworksContainer {
@@ -139,6 +139,7 @@ declare class MoocHeader extends React.Component<any, any, any> {
139
139
  isMenuOpen: boolean;
140
140
  isFocus: boolean;
141
141
  isToolTipOpen: boolean;
142
+ hovered: boolean;
142
143
  };
143
144
  handleSettingsToggle(): void;
144
145
  handleMenuToggle(): void;
@@ -156,6 +157,8 @@ declare class MoocHeader extends React.Component<any, any, any> {
156
157
  handleKeyPress(event: any): void;
157
158
  componentDidUpdate(prevProps: any, prevState: any, prevContext: any): void;
158
159
  menuSettings: any;
160
+ handleMouseEnter: () => void;
161
+ handleMouseLeave: () => void;
159
162
  render(): JSX.Element | null;
160
163
  }
161
164
  import React from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAyBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAuBC;IArBC;;;;;MAKC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,6BA4aC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAyBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAwBC;IAtBC;;;;;;MAMC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,6BAIE;IAEF,6BAIE;IAEF,6BAscC;CACF"}
@@ -42,11 +42,25 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
42
42
  class MoocHeader extends _react.default.Component {
43
43
  constructor(props) {
44
44
  super(props);
45
+
46
+ this.handleMouseEnter = () => {
47
+ this.setState({
48
+ hovered: true
49
+ });
50
+ };
51
+
52
+ this.handleMouseLeave = () => {
53
+ this.setState({
54
+ hovered: false
55
+ });
56
+ };
57
+
45
58
  this.state = {
46
59
  isSettingsOpen: false,
47
60
  isMenuOpen: false,
48
61
  isFocus: false,
49
- isToolTipOpen: false
62
+ isToolTipOpen: false,
63
+ hovered: false
50
64
  };
51
65
  this.handleSettingsToggle = this.handleSettingsToggle.bind(this);
52
66
  this.handleMenuToggle = this.handleMenuToggle.bind(this);
@@ -302,8 +316,21 @@ class MoocHeader extends _react.default.Component {
302
316
  onClick: this.handleLinkClick,
303
317
  skinHover: true,
304
318
  style: _extends({}, activeColor)
305
- }, item.title);
319
+ }, item.title, /*#__PURE__*/_react.default.createElement("span", {
320
+ className: _style.default.line,
321
+ style: {
322
+ backgroundColor: primaryColor
323
+ }
324
+ }));
306
325
  });
326
+ const {
327
+ hovered
328
+ } = this.state;
329
+
330
+ const _hoverStyle = hovered ? {
331
+ color: primaryColor
332
+ } : null;
333
+
307
334
  pagesView = /*#__PURE__*/_react.default.createElement("div", {
308
335
  className: search.value || isFocus ? _style.default.noItems : _style.default.items
309
336
  }, displayedPages, /*#__PURE__*/_react.default.createElement("div", {
@@ -311,14 +338,22 @@ class MoocHeader extends _react.default.Component {
311
338
  }, /*#__PURE__*/_react.default.createElement("div", {
312
339
  className: _style.default.currentOption,
313
340
  "aria-haspopup": "true",
314
- "data-name": "item-more"
341
+ "data-name": "item-more",
342
+ onMouseEnter: this.handleMouseEnter,
343
+ onMouseLeave: this.handleMouseLeave,
344
+ style: _extends({}, _hoverStyle)
315
345
  }, moreAriaLabel, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowDown, {
316
346
  style: {
317
347
  color: mediumColor
318
348
  },
319
349
  className: _style.default.caret,
320
350
  "aria-label": moreAriaLabel
321
- })), /*#__PURE__*/_react.default.createElement("div", {
351
+ })), /*#__PURE__*/_react.default.createElement("span", {
352
+ className: _style.default.bar,
353
+ style: {
354
+ backgroundColor: primaryColor
355
+ }
356
+ }), /*#__PURE__*/_react.default.createElement("div", {
322
357
  className: _style.default.optionsGroup
323
358
  }, optionsView)));
324
359
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["MoocHeader","React","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","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","style","itemBadge","name","itemName","activePage","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","classnames","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","tooltipIconContainer","homeIcon","__html","menuWrapper","hiddenMenuWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","shape","src","string","srcMobile","Search","func","arrayOf","oneOf","bool","number","Cta"],"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 NovaCompositionCoorpacademyPlacesHome24 as HomeIcon,\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 toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: 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 isToolTipOpen: 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 this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.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 handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\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, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\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\n style={{color: mediumColor}}\n className={style.caret}\n aria-label={moreAriaLabel}\n />\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} style={{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} style={{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} style={{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 id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\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 style={{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\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n style={{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 style={{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\n className={style.logo}\n data-name=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\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":["MoocHeader","React","Component","constructor","props","handleMouseEnter","setState","hovered","handleMouseLeave","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","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","style","itemBadge","name","itemName","activePage","bar","optionsView","more","option","line","_hoverStyle","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","classnames","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","tooltipIconContainer","homeIcon","__html","menuWrapper","hiddenMenuWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","shape","src","string","srcMobile","Search","func","arrayOf","oneOf","bool","number","Cta"],"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 NovaCompositionCoorpacademyPlacesHome24 as HomeIcon,\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 toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: 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 isToolTipOpen: false,\n hovered: 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 this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.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 handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n }\n\n handleMouseEnter = () => {\n this.setState({\n hovered: true\n });\n };\n\n handleMouseLeave = () => {\n this.setState({\n hovered: 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, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\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 <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n const {hovered} = this.state;\n const _hoverStyle = hovered\n ? {\n color: primaryColor\n }\n : null;\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n style={{\n ..._hoverStyle\n }}\n >\n {moreAriaLabel}\n <ArrowDown\n style={{color: mediumColor}}\n className={style.caret}\n aria-label={moreAriaLabel}\n />\n </div>\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\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} style={{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} style={{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} style={{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 id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\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 style={{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\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n style={{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 style={{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\n className={style.logo}\n data-name=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\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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"}
@@ -145,7 +145,7 @@
145
145
  }
146
146
 
147
147
  .option {
148
- display: block;
148
+ display: flex;
149
149
  padding: 0 10px;
150
150
  font-size: 13px;
151
151
  color: dark;
@@ -210,11 +210,27 @@
210
210
  transition: all 0.2s ease-out;
211
211
  }
212
212
 
213
+ .option .line {
214
+ background-color: brand;
215
+ width: 3px;
216
+ height: 0;
217
+ left: 0;
218
+ position: absolute;
219
+ transition: all 0.2s ease-out;
220
+ display: none;
221
+ }
222
+
213
223
  .activePage .bar {
214
224
  left: 0;
215
225
  width: 100%;
216
226
  }
217
227
 
228
+ .option:hover .line {
229
+ height: 40px;
230
+ width: 3px;
231
+ display: inherit;
232
+ }
233
+
218
234
  .item:hover .bar {
219
235
  left: 0;
220
236
  width: 100%;