@coorpacademy/components 10.29.8 → 10.30.0

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 (68) hide show
  1. package/es/atom/button-link/index.d.ts +1 -0
  2. package/es/atom/button-link/index.d.ts.map +1 -1
  3. package/es/atom/button-link/index.js +4 -0
  4. package/es/atom/button-link/index.js.map +1 -1
  5. package/es/molecule/brand-form-group/index.d.ts +1 -0
  6. package/es/molecule/review-correction-popin/index.js +4 -2
  7. package/es/molecule/review-correction-popin/index.js.map +1 -1
  8. package/es/organism/brand-form/index.d.ts +1 -0
  9. package/es/organism/list-items/index.d.ts +1 -0
  10. package/es/organism/mooc-header/index.d.ts.map +1 -1
  11. package/es/organism/mooc-header/index.js +28 -14
  12. package/es/organism/mooc-header/index.js.map +1 -1
  13. package/es/organism/mooc-header/style.css +26 -12
  14. package/es/organism/review-congrats/index.d.ts.map +1 -1
  15. package/es/organism/review-congrats/index.js +5 -3
  16. package/es/organism/review-congrats/index.js.map +1 -1
  17. package/es/organism/review-header/index.js +1 -1
  18. package/es/organism/review-header/index.js.map +1 -1
  19. package/es/organism/review-slide/index.d.ts.map +1 -1
  20. package/es/organism/review-slide/index.js +5 -3
  21. package/es/organism/review-slide/index.js.map +1 -1
  22. package/es/organism/setup-header/index.d.ts +4 -0
  23. package/es/organism/wizard-contents/index.d.ts +1 -0
  24. package/es/template/app-review/player/index.js +2 -2
  25. package/es/template/app-review/player/index.js.map +1 -1
  26. package/es/template/back-office/brand-create/index.d.ts +4 -0
  27. package/es/template/back-office/brand-create/index.d.ts.map +1 -1
  28. package/es/template/back-office/brand-list/index.d.ts +4 -0
  29. package/es/template/back-office/brand-list/index.d.ts.map +1 -1
  30. package/es/template/back-office/brand-update/index.d.ts +7 -0
  31. package/es/template/back-office/dashboard-preview/index.d.ts +4 -0
  32. package/es/template/back-office/layout/index.d.ts +4 -0
  33. package/es/template/back-office/layout/index.d.ts.map +1 -1
  34. package/lib/atom/button-link/index.d.ts +1 -0
  35. package/lib/atom/button-link/index.d.ts.map +1 -1
  36. package/lib/atom/button-link/index.js +4 -0
  37. package/lib/atom/button-link/index.js.map +1 -1
  38. package/lib/molecule/brand-form-group/index.d.ts +1 -0
  39. package/lib/molecule/review-correction-popin/index.js +4 -2
  40. package/lib/molecule/review-correction-popin/index.js.map +1 -1
  41. package/lib/organism/brand-form/index.d.ts +1 -0
  42. package/lib/organism/list-items/index.d.ts +1 -0
  43. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  44. package/lib/organism/mooc-header/index.js +27 -13
  45. package/lib/organism/mooc-header/index.js.map +1 -1
  46. package/lib/organism/mooc-header/style.css +26 -12
  47. package/lib/organism/review-congrats/index.d.ts.map +1 -1
  48. package/lib/organism/review-congrats/index.js +5 -3
  49. package/lib/organism/review-congrats/index.js.map +1 -1
  50. package/lib/organism/review-header/index.js +1 -1
  51. package/lib/organism/review-header/index.js.map +1 -1
  52. package/lib/organism/review-slide/index.d.ts.map +1 -1
  53. package/lib/organism/review-slide/index.js +5 -3
  54. package/lib/organism/review-slide/index.js.map +1 -1
  55. package/lib/organism/setup-header/index.d.ts +4 -0
  56. package/lib/organism/wizard-contents/index.d.ts +1 -0
  57. package/lib/template/app-review/player/index.js +2 -2
  58. package/lib/template/app-review/player/index.js.map +1 -1
  59. package/lib/template/back-office/brand-create/index.d.ts +4 -0
  60. package/lib/template/back-office/brand-create/index.d.ts.map +1 -1
  61. package/lib/template/back-office/brand-list/index.d.ts +4 -0
  62. package/lib/template/back-office/brand-list/index.d.ts.map +1 -1
  63. package/lib/template/back-office/brand-update/index.d.ts +7 -0
  64. package/lib/template/back-office/dashboard-preview/index.d.ts +4 -0
  65. package/lib/template/back-office/layout/index.d.ts +4 -0
  66. package/lib/template/back-office/layout/index.d.ts.map +1 -1
  67. package/package.json +3 -3
  68. package/locales/.mtslconfig.json +0 -1
@@ -6,6 +6,7 @@ declare namespace ButtonLink {
6
6
  label: PropTypes.Requireable<string>;
7
7
  'aria-label': PropTypes.Requireable<string>;
8
8
  'data-name': PropTypes.Requireable<string>;
9
+ 'data-testid': PropTypes.Requireable<string>;
9
10
  icon: PropTypes.Requireable<PropTypes.InferProps<{
10
11
  position: PropTypes.Requireable<string>;
11
12
  type: PropTypes.Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/index.js"],"names":[],"mappings":";AA6BA,qDAwDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/index.js"],"names":[],"mappings":";AA6BA,qDA2DC"}
@@ -45,6 +45,7 @@ const ButtonLink = props => {
45
45
  disabled,
46
46
  icon = {},
47
47
  'data-name': dataName,
48
+ 'data-testid': dataTestId = 'button-link',
48
49
  'aria-label': ariaLabel,
49
50
  link,
50
51
  onClick = _noop,
@@ -60,6 +61,7 @@ const ButtonLink = props => {
60
61
  style: customStyle,
61
62
  className: styleButton,
62
63
  "data-name": dataName,
64
+ "data-testid": dataTestId,
63
65
  "aria-label": ariaLabel || label,
64
66
  title: ariaLabel || label
65
67
  }), contentView);
@@ -70,6 +72,7 @@ const ButtonLink = props => {
70
72
  "aria-label": ariaLabel || label,
71
73
  title: ariaLabel || label,
72
74
  "data-name": dataName,
75
+ "data-testid": dataTestId,
73
76
  style: customStyle,
74
77
  className: styleButton,
75
78
  onClick: handleOnClick
@@ -81,6 +84,7 @@ ButtonLink.propTypes = process.env.NODE_ENV !== "production" ? {
81
84
  label: PropTypes.string,
82
85
  'aria-label': PropTypes.string,
83
86
  'data-name': PropTypes.string,
87
+ 'data-testid': PropTypes.string,
84
88
  icon: PropTypes.shape({
85
89
  position: PropTypes.oneOf(['right', 'left']),
86
90
  type: PropTypes.oneOf(_keys(ICONS))
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","PropTypes","classnames","Link","ICONS","style","getButtonContent","icon","label","type","position","Icon","buttonContent","ButtonLink","props","disabled","dataName","ariaLabel","link","onClick","className","customStyle","contentView","styleButton","button","primary","secondary","tertiary","text","dangerous","handleOnClick","propTypes","oneOf","string","shape","func","href","download","bool","target"],"sources":["../../../src/atom/button-link/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, keys, noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Link from '../link';\nimport {ICONS} from '../../util/button-icons';\nimport style from './style.css';\n\nconst getButtonContent = (icon, label) => {\n const {type, position} = icon;\n const Icon = getOr(null, type, ICONS);\n\n if (!Icon) {\n return (\n <div className={style.buttonContent}>\n <span className={style.label}>{label}</span>\n </div>\n );\n }\n\n return (\n <div className={style.buttonContent}>\n {position === 'left' ? <Icon className={style.icon} /> : null}\n <span className={style.label}>{label}</span>\n {position === 'right' ? <Icon className={style.icon} /> : null}\n </div>\n );\n};\n\nconst ButtonLink = props => {\n const {\n type,\n label,\n disabled,\n icon = {},\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n link,\n onClick = noop,\n className,\n customStyle\n } = props;\n const contentView = getButtonContent(icon, label);\n const styleButton = classnames(\n className,\n style.button,\n type === 'primary' && style.primary,\n type === 'secondary' && style.secondary,\n type === 'tertiary' && style.tertiary,\n type === 'text' && style.text,\n type === 'dangerous' && style.dangerous,\n link && style.link,\n disabled && style.disabled\n );\n\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n\n if (link) {\n return (\n <Link\n {...link}\n style={customStyle}\n className={styleButton}\n data-name={dataName}\n aria-label={ariaLabel || label}\n title={ariaLabel || label}\n >\n {contentView}\n </Link>\n );\n }\n\n return (\n <button\n type=\"button\"\n aria-label={ariaLabel || label}\n title={ariaLabel || label}\n data-name={dataName}\n style={customStyle}\n className={styleButton}\n onClick={handleOnClick}\n >\n {contentView}\n </button>\n );\n};\n\nButtonLink.propTypes = {\n type: PropTypes.oneOf(['primary', 'secondary', 'tertiary', 'text', 'dangerous']),\n label: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n icon: PropTypes.shape({\n position: PropTypes.oneOf(['right', 'left']),\n type: PropTypes.oneOf(keys(ICONS))\n }),\n onClick: PropTypes.func,\n link: PropTypes.shape({\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])\n }),\n disabled: PropTypes.bool,\n className: PropTypes.string,\n customStyle: PropTypes.shape({})\n};\n\nexport default ButtonLink;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","PropTypes","classnames","Link","ICONS","style","getButtonContent","icon","label","type","position","Icon","buttonContent","ButtonLink","props","disabled","dataName","dataTestId","ariaLabel","link","onClick","className","customStyle","contentView","styleButton","button","primary","secondary","tertiary","text","dangerous","handleOnClick","propTypes","oneOf","string","shape","func","href","download","bool","target"],"sources":["../../../src/atom/button-link/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, keys, noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Link from '../link';\nimport {ICONS} from '../../util/button-icons';\nimport style from './style.css';\n\nconst getButtonContent = (icon, label) => {\n const {type, position} = icon;\n const Icon = getOr(null, type, ICONS);\n\n if (!Icon) {\n return (\n <div className={style.buttonContent}>\n <span className={style.label}>{label}</span>\n </div>\n );\n }\n\n return (\n <div className={style.buttonContent}>\n {position === 'left' ? <Icon className={style.icon} /> : null}\n <span className={style.label}>{label}</span>\n {position === 'right' ? <Icon className={style.icon} /> : null}\n </div>\n );\n};\n\nconst ButtonLink = props => {\n const {\n type,\n label,\n disabled,\n icon = {},\n 'data-name': dataName,\n 'data-testid': dataTestId = 'button-link',\n 'aria-label': ariaLabel,\n link,\n onClick = noop,\n className,\n customStyle\n } = props;\n const contentView = getButtonContent(icon, label);\n const styleButton = classnames(\n className,\n style.button,\n type === 'primary' && style.primary,\n type === 'secondary' && style.secondary,\n type === 'tertiary' && style.tertiary,\n type === 'text' && style.text,\n type === 'dangerous' && style.dangerous,\n link && style.link,\n disabled && style.disabled\n );\n\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n\n if (link) {\n return (\n <Link\n {...link}\n style={customStyle}\n className={styleButton}\n data-name={dataName}\n data-testid={dataTestId}\n aria-label={ariaLabel || label}\n title={ariaLabel || label}\n >\n {contentView}\n </Link>\n );\n }\n\n return (\n <button\n type=\"button\"\n aria-label={ariaLabel || label}\n title={ariaLabel || label}\n data-name={dataName}\n data-testid={dataTestId}\n style={customStyle}\n className={styleButton}\n onClick={handleOnClick}\n >\n {contentView}\n </button>\n );\n};\n\nButtonLink.propTypes = {\n type: PropTypes.oneOf(['primary', 'secondary', 'tertiary', 'text', 'dangerous']),\n label: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n 'data-testid': PropTypes.string,\n icon: PropTypes.shape({\n position: PropTypes.oneOf(['right', 'left']),\n type: PropTypes.oneOf(keys(ICONS))\n }),\n onClick: PropTypes.func,\n link: PropTypes.shape({\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])\n }),\n disabled: PropTypes.bool,\n className: PropTypes.string,\n customStyle: PropTypes.shape({})\n};\n\nexport default ButtonLink;\n"],"mappings":"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"}
@@ -365,6 +365,7 @@ declare namespace BrandFormGroup {
365
365
  label: PropTypes.Requireable<string>;
366
366
  'aria-label': PropTypes.Requireable<string>;
367
367
  'data-name': PropTypes.Requireable<string>;
368
+ 'data-testid': PropTypes.Requireable<string>;
368
369
  icon: PropTypes.Requireable<PropTypes.InferProps<{
369
370
  position: PropTypes.Requireable<string>;
370
371
  type: PropTypes.Requireable<string>;
@@ -53,7 +53,8 @@ const ReviewCorrectionPopin = props => {
53
53
  };
54
54
  const Icon = ICONS[type];
55
55
  return /*#__PURE__*/React.createElement("div", {
56
- className: style.wrapper
56
+ className: style.wrapper,
57
+ "data-testid": "review-correction-popin"
57
58
  }, /*#__PURE__*/React.createElement("div", {
58
59
  className: classnames(style.popin, type === 'right' ? style.right : style.wrong)
59
60
  }, /*#__PURE__*/React.createElement("div", {
@@ -87,7 +88,8 @@ const ReviewCorrectionPopin = props => {
87
88
  }))), /*#__PURE__*/React.createElement("div", {
88
89
  className: type === 'right' ? style.actions : style.actionsWrong
89
90
  }, cta, /*#__PURE__*/React.createElement("div", {
90
- className: style.nextQuestionContainer
91
+ className: style.nextQuestionContainer,
92
+ "data-testid": "next-question-button-container"
91
93
  }, /*#__PURE__*/React.createElement(ButtonLink, _extends({}, nextQuestionButtonProps, {
92
94
  className: style.nextQuestionButton
93
95
  }))))));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","classnames","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","ButtonLink","style","propTypes","buildKlfButton","klf","klfButtonProps","icon","position","type","klfContainer","klfButtonContainer","klfButton","toolTip","tooltipText","__html","tooltip","ReviewCorrectionPopin","props","information","resultLabel","next","nextQuestionButtonProps","cta","ICONS","right","wrong","Icon","wrapper","popin","correctionSection","iconCircle","iconRight","iconWrong","feedbackSection","labelContainer","label","message","actions","actionsWrong","nextQuestionContainer","nextQuestionButton"],"sources":["../../../src/molecule/review-correction-popin/index.js"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst buildKlfButton = klf => {\n const klfButtonProps = {\n ...klf,\n icon: {\n position: 'left',\n type: 'key'\n },\n type: 'primary'\n };\n\n return (\n <div className={style.klfContainer}>\n <div className={style.klfButtonContainer}>\n <ButtonLink {...klfButtonProps} className={style.klfButton} />\n </div>\n <div className={style.toolTip}>\n <span\n className={style.tooltipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: klf.tooltip}}\n />\n </div>\n </div>\n );\n};\n\nconst ReviewCorrectionPopin = props => {\n const {information, resultLabel, type, klf, next} = props;\n\n const nextQuestionButtonProps = {\n ...next,\n type: 'primary'\n };\n\n const cta = type === 'wrong' ? buildKlfButton(klf) : null;\n\n const ICONS = {\n right: RightIcon,\n wrong: WrongIcon\n };\n const Icon = ICONS[type];\n\n return (\n <div className={style.wrapper}>\n <div className={classnames(style.popin, type === 'right' ? style.right : style.wrong)}>\n <div className={style.correctionSection}>\n <div className={style.iconCircle}>\n <Icon className={type === 'right' ? style.iconRight : style.iconWrong} />\n </div>\n <div className={style.resultLabel} aria-label=\"result\">\n <span aria-label={resultLabel}>{resultLabel}</span>\n </div>\n </div>\n <div className={style.feedbackSection}>\n <div className={style.information} aria-label=\"answer-information\">\n <div className={style.labelContainer}>\n <span className={style.label} aria-label={information.label}>\n {information.label}\n </span>\n </div>\n <span\n className={style.message}\n aria-label={information.message}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: information.message}}\n />\n </div>\n </div>\n <div className={type === 'right' ? style.actions : style.actionsWrong}>\n {cta}\n <div className={style.nextQuestionContainer}>\n <ButtonLink {...nextQuestionButtonProps} className={style.nextQuestionButton} />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nReviewCorrectionPopin.propTypes = propTypes;\n\nexport default ReviewCorrectionPopin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","classnames","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","ButtonLink","style","propTypes","buildKlfButton","klf","klfButtonProps","icon","position","type","klfContainer","klfButtonContainer","klfButton","toolTip","tooltipText","__html","tooltip","ReviewCorrectionPopin","props","information","resultLabel","next","nextQuestionButtonProps","cta","ICONS","right","wrong","Icon","wrapper","popin","correctionSection","iconCircle","iconRight","iconWrong","feedbackSection","labelContainer","label","message","actions","actionsWrong","nextQuestionContainer","nextQuestionButton"],"sources":["../../../src/molecule/review-correction-popin/index.js"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst buildKlfButton = klf => {\n const klfButtonProps = {\n ...klf,\n icon: {\n position: 'left',\n type: 'key'\n },\n type: 'primary'\n };\n\n return (\n <div className={style.klfContainer}>\n <div className={style.klfButtonContainer}>\n <ButtonLink {...klfButtonProps} className={style.klfButton} />\n </div>\n <div className={style.toolTip}>\n <span\n className={style.tooltipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: klf.tooltip}}\n />\n </div>\n </div>\n );\n};\n\nconst ReviewCorrectionPopin = props => {\n const {information, resultLabel, type, klf, next} = props;\n\n const nextQuestionButtonProps = {\n ...next,\n type: 'primary'\n };\n\n const cta = type === 'wrong' ? buildKlfButton(klf) : null;\n\n const ICONS = {\n right: RightIcon,\n wrong: WrongIcon\n };\n const Icon = ICONS[type];\n\n return (\n <div className={style.wrapper} data-testid=\"review-correction-popin\">\n <div className={classnames(style.popin, type === 'right' ? style.right : style.wrong)}>\n <div className={style.correctionSection}>\n <div className={style.iconCircle}>\n <Icon className={type === 'right' ? style.iconRight : style.iconWrong} />\n </div>\n <div className={style.resultLabel} aria-label=\"result\">\n <span aria-label={resultLabel}>{resultLabel}</span>\n </div>\n </div>\n <div className={style.feedbackSection}>\n <div className={style.information} aria-label=\"answer-information\">\n <div className={style.labelContainer}>\n <span className={style.label} aria-label={information.label}>\n {information.label}\n </span>\n </div>\n <span\n className={style.message}\n aria-label={information.message}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: information.message}}\n />\n </div>\n </div>\n <div className={type === 'right' ? style.actions : style.actionsWrong}>\n {cta}\n <div className={style.nextQuestionContainer} data-testid=\"next-question-button-container\">\n <ButtonLink {...nextQuestionButtonProps} className={style.nextQuestionButton} />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nReviewCorrectionPopin.propTypes = propTypes;\n\nexport default ReviewCorrectionPopin;\n"],"mappings":"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"}
@@ -395,6 +395,7 @@ declare namespace BrandForm {
395
395
  label: PropTypes.Requireable<string>;
396
396
  'aria-label': PropTypes.Requireable<string>;
397
397
  'data-name': PropTypes.Requireable<string>;
398
+ 'data-testid': PropTypes.Requireable<string>;
398
399
  icon: PropTypes.Requireable<PropTypes.InferProps<{
399
400
  position: PropTypes.Requireable<string>;
400
401
  type: PropTypes.Requireable<string>;
@@ -13,6 +13,7 @@ declare namespace ListItems {
13
13
  label: PropTypes.Requireable<string>;
14
14
  'aria-label': PropTypes.Requireable<string>;
15
15
  'data-name': PropTypes.Requireable<string>;
16
+ 'data-testid': PropTypes.Requireable<string>;
16
17
  icon: PropTypes.Requireable<PropTypes.InferProps<{
17
18
  position: PropTypes.Requireable<string>;
18
19
  type: PropTypes.Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAsBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAyFE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAmBC;IAjBC;;;;MAIC;IA6CH,6BAIC;IAED,yBAMC;IA3BD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA+BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAKC;IAED,0BAKC;IAlFD,2EASC;IAGC,kBAAsB;IAwExB,6BAwYC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAwBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAyFE;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,6BAmZC;CACF"}
@@ -7,7 +7,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
7
7
  import React from 'react';
8
8
  import PropTypes from 'prop-types';
9
9
  import classnames from 'classnames';
10
- import { NovaCompositionNavigationArrowDown as ArrowDown, NovaCompositionCoorpacademyStar as StarIcon, NovaCompositionCoorpacademyCharts as ChartsIcon, NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon, NovaCompositionCoorpacademyCog as CogIcon, NovaSolidTimeAlarm as AlarmIcon } from '@coorpacademy/nova-icons';
10
+ import { NovaCompositionNavigationArrowDown as ArrowDown, NovaCompositionNavigationBurger as BurgerIcon, NovaCompositionNavigationClose as CloseIcon, NovaCompositionCoorpacademyStar as StarIcon, NovaCompositionCoorpacademyCharts as ChartsIcon, NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon, NovaCompositionCoorpacademyCog as CogIcon, NovaSolidTimeAlarm as AlarmIcon } from '@coorpacademy/nova-icons';
11
11
  import Provider from '../../atom/provider';
12
12
  import Cta from '../../atom/cta';
13
13
  import Select from '../../atom/select';
@@ -89,9 +89,6 @@ class MoocHeader extends React.Component {
89
89
  isMenuOpen
90
90
  } = this.state;
91
91
  isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();
92
- this.setState(prevState => ({
93
- isMenuOpen: !prevState.isMenuOpen
94
- }));
95
92
  }
96
93
 
97
94
  handleSubmitSearch() {
@@ -134,6 +131,10 @@ class MoocHeader extends React.Component {
134
131
  if (onMenuOpen) {
135
132
  onMenuOpen();
136
133
  }
134
+
135
+ this.setState(() => ({
136
+ isMenuOpen: true
137
+ }));
137
138
  }
138
139
 
139
140
  handleOnMenuClose() {
@@ -144,6 +145,10 @@ class MoocHeader extends React.Component {
144
145
  if (onMenuClose) {
145
146
  onMenuClose();
146
147
  }
148
+
149
+ this.setState(() => ({
150
+ isMenuOpen: false
151
+ }));
147
152
  }
148
153
 
149
154
  render() {
@@ -480,18 +485,27 @@ class MoocHeader extends React.Component {
480
485
  }, /*#__PURE__*/React.createElement("div", {
481
486
  className: style.logoWrapper
482
487
  }, /*#__PURE__*/React.createElement("div", {
483
- className: style.logoMobile,
488
+ className: style.navMobile,
489
+ "data-name": "nav-mobile",
490
+ "aria-label": logoButtonAriaLabel
491
+ }, /*#__PURE__*/React.createElement(BurgerIcon, {
492
+ role: "button",
493
+ "data-name": "nav-mobile-open",
494
+ color: mediumColor,
495
+ className: isMenuOpen ? style.burgerHidden : style.burger,
496
+ onClick: this.handleOnMenuOpen
497
+ }), /*#__PURE__*/React.createElement(CloseIcon, {
498
+ "data-name": "nav-mobile-close",
499
+ color: mediumColor,
500
+ className: isMenuOpen ? style.close : style.closeHidden,
501
+ onClick: this.handleOnMenuClose
502
+ }), /*#__PURE__*/React.createElement(Link, {
484
503
  "data-name": "logo-mobile",
485
- onClick: this.handleMenuToggle,
486
- "aria-label": logoButtonAriaLabel,
487
- role: "button"
488
- }, /*#__PURE__*/React.createElement(Picture, {
489
- src: logoMobileUrl,
504
+ href: logo.href,
490
505
  "aria-label": logoAriaLabel
491
- }), notificationsView, /*#__PURE__*/React.createElement(ArrowDown, {
492
- color: mediumColor,
493
- className: isMenuOpen ? style.caretUp : style.caret
494
- })), /*#__PURE__*/React.createElement(Link, {
506
+ }, /*#__PURE__*/React.createElement(Picture, {
507
+ src: logoMobileUrl
508
+ }))), /*#__PURE__*/React.createElement(Link, {
495
509
  className: style.logo,
496
510
  "data-name": "logo",
497
511
  href: logo.href,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","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","translate","skin","context","logoAriaLabel","logoButtonAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","pageBadge","counter","href","itemBadge","name","itemName","activePage","title","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","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","logoMobile","caretUp","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 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 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 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 this.setState(prevState => ({\n isMenuOpen: !prevState.isMenuOpen\n }));\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 }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\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 } = 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 moreLabel = 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 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={item.title}\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\n const {name: itemName = index} = item;\n\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={item.title}\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\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n aria-label={moreLabel}\n >\n {moreLabel}\n <ArrowDown color={mediumColor} className={style.caret} />\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} />\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\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 <Select {...selectProps} />\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.logoMobile}\n data-name=\"logo-mobile\"\n onClick={this.handleMenuToggle}\n aria-label={logoButtonAriaLabel}\n role=\"button\"\n >\n <Picture src={logoMobileUrl} aria-label={logoAriaLabel} />\n {notificationsView}\n <ArrowDown color={mediumColor} className={isMenuOpen ? style.caretUp : style.caret} />\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n href={logo.href}\n aria-label={logoAriaLabel}\n >\n <Picture src={logoUrl} />\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","translate","skin","context","logoAriaLabel","logoButtonAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","pageBadge","counter","href","itemBadge","name","itemName","activePage","title","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","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 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 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 } = 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 moreLabel = 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 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={item.title}\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\n const {name: itemName = index} = item;\n\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={item.title}\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\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n aria-label={moreLabel}\n >\n {moreLabel}\n <ArrowDown color={mediumColor} className={style.caret} />\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} />\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\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 <Select {...selectProps} />\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} aria-label={logoAriaLabel}>\n <Picture src={logoMobileUrl} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n href={logo.href}\n aria-label={logoAriaLabel}\n >\n <Picture src={logoUrl} />\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":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SACEC,kCAAkC,IAAIC,SADxC,EAEEC,+BAA+B,IAAIC,UAFrC,EAGEC,8BAA8B,IAAIC,SAHpC,EAIEC,+BAA+B,IAAIC,QAJrC,EAKEC,iCAAiC,IAAIC,UALvC,EAMEC,kCAAkC,IAAIC,UANxC,EAOEC,8BAA8B,IAAIC,OAPpC,EAQEC,kBAAkB,IAAIC,SARxB,QASO,0BATP;AAUA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,GAAP,MAAgB,gBAAhB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,OAAP,MAAoB,oBAApB;AACA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,MAAP,MAAmB,yBAAnB;AACA,OAAOC,UAAP,MAAuB,4BAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,UAAN,SAAyB5B,KAAK,CAAC6B,SAA/B,CAAyC;EAiGvCC,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;IACA,KAAKC,KAAL,GAAa;MACXC,cAAc,EAAE,KADL;MAEXC,UAAU,EAAE,KAFD;MAGXC,OAAO,EAAE;IAHE,CAAb;IAMA,KAAKC,oBAAL,GAA4B,KAAKA,oBAAL,CAA0BC,IAA1B,CAA+B,IAA/B,CAA5B;IACA,KAAKC,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBD,IAAtB,CAA2B,IAA3B,CAAxB;IACA,KAAKE,aAAL,GAAqB,KAAKA,aAAL,CAAmBF,IAAnB,CAAwB,IAAxB,CAArB;IACA,KAAKG,eAAL,GAAuB,KAAKA,eAAL,CAAqBH,IAArB,CAA0B,IAA1B,CAAvB;IACA,KAAKI,eAAL,GAAuB,KAAKA,eAAL,CAAqBJ,IAArB,CAA0B,IAA1B,CAAvB;IACA,KAAKK,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBL,IAAxB,CAA6B,IAA7B,CAA1B;IACA,KAAKM,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBN,IAAvB,CAA4B,IAA5B,CAAzB;IACA,KAAKO,aAAL,GAAqB,KAAKA,aAAL,CAAmBP,IAAnB,CAAwB,IAAxB,CAArB;IACA,KAAKQ,YAAL,GAAoB,KAAKA,YAAL,CAAkBR,IAAlB,CAAuB,IAAvB,CAApB;IACA,KAAKS,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBT,IAAtB,CAA2B,IAA3B,CAAxB;IACA,KAAKU,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBV,IAAvB,CAA4B,IAA5B,CAAzB;EACD;;EAEDW,kBAAkB,CAACC,SAAD,EAAYC,SAAZ,EAAuBC,WAAvB,EAAoC;IACpD,MAAM;MAAClB;IAAD,IAAmB,KAAKD,KAA9B;;IACA,IAAIC,cAAJ,EAAoB;MAClBmB,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmC,KAAKd,aAAxC;MACAa,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwC,KAAKd,aAA7C;IACD,CAHD,MAGO;MACLa,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsC,KAAKf,aAA3C;MACAa,QAAQ,CAACE,mBAAT,CAA6B,YAA7B,EAA2C,KAAKf,aAAhD;IACD;EACF;;EAEDE,eAAe,CAACc,EAAD,EAAK;IAClB,KAAKC,YAAL,GAAoBD,EAApB;EACD;;EAEDhB,aAAa,CAACkB,UAAD,EAAa;IACxB,MAAM;MAACxB;IAAD,IAAmB,KAAKD,KAA9B;;IACA,IAAIC,cAAJ,EAAoB;MAClB,MAAMyB,IAAI,GAAG,KAAKF,YAAlB;;MACA,IAAIE,IAAI,IAAI,CAACA,IAAI,CAACC,QAAL,CAAcF,UAAU,CAACG,MAAzB,CAAb,EAA+C;QAC7C,KAAKxB,oBAAL;MACD;IACF;EACF;;EAEDI,eAAe,GAAG;IAChB,MAAM;MAACN;IAAD,IAAe,KAAKF,KAA1B;IACAE,UAAU,IAAI,KAAKI,gBAAL,EAAd;EACD;;EAEDF,oBAAoB,GAAG;IACrB,KAAKyB,QAAL,CAAcX,SAAS,KAAK;MAC1BjB,cAAc,EAAE,CAACiB,SAAS,CAACjB;IADD,CAAL,CAAvB;EAGD;;EAEDK,gBAAgB,GAAG;IACjB,MAAM;MAACJ;IAAD,IAAe,KAAKF,KAA1B;IACAE,UAAU,GAAG,KAAKa,iBAAL,EAAH,GAA8B,KAAKD,gBAAL,EAAxC;EACD;;EAEDJ,kBAAkB,GAAG;IACnB,MAAM;MAACoB;IAAD,IAAmB,KAAK/B,KAA9B;;IACA,IAAI+B,cAAJ,EAAoB;MAClBA,cAAc;IACf;EACF;;EAEDnB,iBAAiB,GAAG;IAClB,MAAM;MAACoB;IAAD,IAAkB,KAAKhC,KAA7B;;IACA,IAAIgC,aAAJ,EAAmB;MACjBA,aAAa;IACd;EACF;;EAEDnB,aAAa,GAAG;IACd,KAAKiB,QAAL,CAAcX,SAAS,KAAK;MAC1Bf,OAAO,EAAE;IADiB,CAAL,CAAvB;EAGD;;EAEDU,YAAY,GAAG;IACb,KAAKgB,QAAL,CAAcX,SAAS,KAAK;MAC1Bf,OAAO,EAAE;IADiB,CAAL,CAAvB;EAGD;;EAEDW,gBAAgB,GAAG;IACjB,MAAM;MAACkB;IAAD,IAAe,KAAKjC,KAA1B;;IACA,IAAIiC,UAAJ,EAAgB;MACdA,UAAU;IACX;;IACD,KAAKH,QAAL,CAAc,OAAO;MACnB3B,UAAU,EAAE;IADO,CAAP,CAAd;EAGD;;EAEDa,iBAAiB,GAAG;IAClB,MAAM;MAACkB;IAAD,IAAgB,KAAKlC,KAA3B;;IACA,IAAIkC,WAAJ,EAAiB;MACfA,WAAW;IACZ;;IACD,KAAKJ,QAAL,CAAc,OAAO;MACnB3B,UAAU,EAAE;IADO,CAAP,CAAd;EAGD;;EAEDgC,MAAM,GAAG;IACP,IAAI,SAAQ,KAAKnC,KAAb,CAAJ,EAAyB,OAAO,IAAP;IACzB,MAAM;MACJoC,IAAI,GAAG,EADH;MAEJC,KAAK,EAAEC,KAFH;MAGJC,QAHI;MAIJC,IAJI;MAKJC,KALI;MAMJC,MANI;MAOJ,2BAA2BC,oBAPvB;MAQJ,uBAAuBC,iBARnB;MASJ,6BAA6BC;IATzB,IAUF,KAAK7C,KAVT;IAWA,MAAM;MAACI,OAAD;MAAUF,cAAV;MAA0BC;IAA1B,IAAwC,KAAKF,KAAnD;IACA,MAAM;MAAC6C,SAAD;MAAYC;IAAZ,IAAoB,KAAKC,OAA/B;IACA,MAAM;MAAC,cAAcC,aAAf;MAA8B,qBAAqBC;IAAnD,IAA0Ed,IAAhF;;IACA,MAAMe,OAAO,GAAG,KAAI,KAAJ,EAAWf,IAAX,KAAoB,KAAI,aAAJ,EAAmBW,IAAnB,CAApC;;IACA,MAAMK,aAAa,GAAG,KAAI,WAAJ,EAAiBhB,IAAjB,KAA0B,OAAMe,OAAN,EAAe,oBAAf,EAAqCJ,IAArC,CAAhD;;IAEA,IAAIM,SAAS,GAAG,IAAhB;IACA,IAAIC,SAAS,GAAG,IAAhB;IACA,IAAIC,QAAQ,GAAG,IAAf;IACA,IAAIC,YAAY,GAAG,IAAnB;IACA,IAAIC,iBAAiB,GAAG,IAAxB;IACA,IAAIC,cAAc,GAAG,IAArB;IAEA,MAAMC,SAAS,GAAGb,SAAS,CAAC,MAAD,CAA3B;IACA,MAAMc,UAAU,GAAGd,SAAS,CAAC,OAAD,CAA5B;;IACA,MAAMe,YAAY,GAAG,KAAI,gBAAJ,EAAsBd,IAAtB,CAArB;;IACA,MAAMe,WAAW,GAAG,KAAI,eAAJ,EAAqBf,IAArB,CAApB;;IACA,MAAMgB,SAAS,GAAG,KAAI,aAAJ,EAAmBhB,IAAnB,CAAlB;;IACA,MAAMiB,KAAK,GAAG,KAAI,cAAJ,EAAoBjB,IAApB,CAAd;;IACA,MAAMkB,gBAAgB,GAAG;MAACC,eAAe,EAAEL;IAAlB,CAAzB;;IAEA,IAAIvB,KAAJ,EAAW;MACT,MAAM6B,cAAc,GAAG7B,KAAK,CAAC8B,SAAN,CAAgBC,GAAhB,CAAoB,CAACC,IAAD,EAAOC,KAAP,KAAiB;QAC1D,MAAMC,WAAW,GAAGF,IAAI,CAACG,QAAL,GAChB;UACEC,KAAK,EAAEb;QADT,CADgB,GAIhB,IAJJ;QAMA,MAAM;UAAC,yBAAyBc;QAA1B,IAAgDL,IAAtD;QACA,MAAMM,SAAS,GACbN,IAAI,CAACO,OAAL,GAAe,CAAf,gBACE,oBAAC,IAAD;UACE,IAAI,EAAEP,IAAI,CAACQ,IADb;UAEE,aAAU,YAFZ;UAGE,SAAS,EAAElF,KAAK,CAACmF,SAHnB;UAIE,cAAYJ;QAJd,GAMGL,IAAI,CAACO,OANR,CADF,GASI,IAVN;QAYA,MAAM;UAACG,IAAI,EAAEC,QAAQ,GAAGV;QAAlB,IAA2BD,IAAjC;QAEA,oBACE,oBAAC,IAAD;UACE,GAAG,EAAEW,QADP;UAEE,aAAY,QAAOA,QAAS,EAF9B;UAGE,IAAI,EAAEX,IAAI,CAACQ,IAHb;UAIE,SAAS,EAAER,IAAI,CAACG,QAAL,GAAgB7E,KAAK,CAACsF,UAAtB,GAAmCtF,KAAK,CAAC0E,IAJtD;UAKE,SAAS,MALX;UAME,OAAO,EAAE,KAAK7D,eANhB;UAOE,MAAM,EAAE6D,IAAI,CAACzC,MAAL,IAAe,IAPzB;UAQE,cAAYyC,IAAI,CAACa,KARnB;UASE,KAAK,eACAX,WADA;QATP,GAaGF,IAAI,CAACa,KAbR,EAcGP,SAdH,eAeE;UACE,SAAS,EAAEhF,KAAK,CAACwF,GADnB;UAEE,KAAK,EAAE;YACLlB,eAAe,EAAEL;UADZ;QAFT,EAfF,CADF;MAwBD,CA9CsB,CAAvB;MAgDA,MAAMwB,WAAW,GAAG/C,KAAK,CAACgD,IAAN,CAAWjB,GAAX,CAAe,CAACC,IAAD,EAAOC,KAAP,KAAiB;QAClD,MAAMC,WAAW,GAAGF,IAAI,CAACG,QAAL,GAChB;UACEC,KAAK,EAAEb;QADT,CADgB,GAIhB,IAJJ;QAMA,MAAM;UAACmB,IAAI,EAAEC,QAAQ,GAAGV;QAAlB,IAA2BD,IAAjC;QAEA,oBACE,oBAAC,IAAD;UACE,IAAI,EAAEA,IAAI,CAACQ,IADb;UAEE,GAAG,EAAEG,QAFP;UAGE,SAAS,EAAErF,KAAK,CAAC2F,MAHnB;UAIE,aAAY,aAAYN,QAAS,EAJnC;UAKE,MAAM,EAAEX,IAAI,CAACzC,MAAL,IAAe,IALzB;UAME,cAAYyC,IAAI,CAACa,KANnB;UAOE,OAAO,EAAE,KAAK1E,eAPhB;UAQE,SAAS,MARX;UASE,KAAK,eACA+D,WADA;QATP,GAaGF,IAAI,CAACa,KAbR,CADF;MAiBD,CA1BmB,CAApB;MA4BA9B,SAAS,gBACP;QAAK,SAAS,EAAEX,MAAM,CAAC8C,KAAP,IAAgBpF,OAAhB,GAA0BR,KAAK,CAAC6F,OAAhC,GAA0C7F,KAAK,CAAC0C;MAAhE,GACG6B,cADH,eAEE;QAAK,SAAS,EAAEvE,KAAK,CAAC0F;MAAtB,gBACE;QACE,SAAS,EAAE1F,KAAK,CAAC8F,aADnB;QAEE,iBAAc,MAFhB;QAGE,aAAU,WAHZ;QAIE,cAAY/B;MAJd,GAMGA,SANH,eAOE,oBAAC,SAAD;QAAW,KAAK,EAAEG,WAAlB;QAA+B,SAAS,EAAElE,KAAK,CAAC+F;MAAhD,EAPF,CADF,eAUE;QAAK,SAAS,EAAE/F,KAAK,CAACgG;MAAtB,GAAqCP,WAArC,CAVF,CAFF,CADF;IAiBD;;IAED,IAAI5C,KAAJ,EAAW;MACT,MAAMoD,IAAI,GAAGpD,KAAK,CAAC4B,GAAN,CAAU,CAACyB,GAAD,EAAMvB,KAAN,KAAgB;QACrC,oBACE,oBAAC,GAAD,eAASuB,GAAT;UAAc,GAAG,EAAEvB,KAAnB;UAA0B,SAAS,EAAEA,KAAK,GAAG,CAAR,KAAc9B,KAAK,CAACsD,MAApB,GAA6B,IAA7B,GAAoCnG,KAAK,CAACoG;QAA/E,GADF;MAGD,CAJY,CAAb;MAMA1C,SAAS,gBAAG;QAAK,SAAS,EAAE1D,KAAK,CAAC6C;MAAtB,GAA8BoD,IAA9B,CAAZ;IACD;;IAED,IAAIrD,IAAJ,EAAU;MACR,MAAMyD,eAAe,GAAG,OAAM,CAAN,EAAS,qBAAT,EAAgCzD,IAAhC,CAAxB;;MACA,MAAM0D,sBAAsB,GAAG,OAAM,EAAN,EAAU,0BAAV,EAAsC1D,IAAtC,CAA/B;;MAEAiB,iBAAiB,GACfwC,eAAe,GAAG,CAAlB,gBACE,oBAAC,IAAD;QACE,IAAI,EAAEzD,IAAI,CAAC2D,aAAL,CAAmBrB,IAD3B;QAEE,aAAU,oBAFZ;QAGE,SAAS,EAAElF,KAAK,CAACuG;MAHnB,GAKGF,eALH,CADF,GAQI,IATN;MAUA,MAAMG,oBAAoB,gBACxB,oBAAC,IAAD;QACE,SAAS,EAAEjI,UAAU,CAACyB,KAAK,CAACyG,YAAP,EAAqBJ,eAAe,GAAG,CAAlB,GAAsBrG,KAAK,CAAC0G,MAA5B,GAAqC,IAA1D,CADvB;QAEE,aAAU,oBAFZ;QAGE,IAAI,EAAE9D,IAAI,CAAC2D,aAAL,CAAmBrB,IAH3B;QAIE,cAAYoB;MAJd,gBAME,8CACE,oBAAC,SAAD;QAAW,KAAK,EAAE,EAAlB;QAAsB,MAAM,EAAE;MAA9B,EADF,CANF,EASGzC,iBATH,CADF;MAaAF,QAAQ,gBACN;QAAK,SAAS,EAAE3D,KAAK,CAAC4C;MAAtB,gBACE;QAAK,SAAS,EAAE5C,KAAK,CAAC2G;MAAtB,gBACE,oBAAC,IAAD;QACE,SAAS,EAAE3G,KAAK,CAAC4G,IADnB;QAEE,aAAU,YAFZ;QAGE,IAAI,EAAEhE,IAAI,CAAC+D,KAAL,CAAWE,KAAX,CAAiB3B,IAHzB;QAIE,OAAO,EAAE,KAAKrE,eAJhB;QAKE,cAAY+B,IAAI,CAAC+D,KAAL,CAAWE,KAAX,CAAiB,YAAjB;MALd,gBAOE;QAAK,SAAS,EAAE7G,KAAK,CAAC8G,WAAtB;QAAmC,KAAK,EAAEzC;MAA1C,gBACE,oBAAC,QAAD;QAAU,SAAS,EAAErE,KAAK,CAAC6G,KAA3B;QAAkC,KAAK,EAAEzC;MAAzC,EADF,CAPF,eAUE;QAAK,aAAU,OAAf;QAAuB,SAAS,EAAEpE,KAAK,CAAC+G;MAAxC,GACGnE,IAAI,CAAC+D,KAAL,CAAWE,KAAX,CAAiBE,KADpB,CAVF,CADF,eAeE,oBAAC,IAAD;QACE,SAAS,EAAE/G,KAAK,CAAC4G,IADnB;QAEE,aAAU,cAFZ;QAGE,IAAI,EAAEhE,IAAI,CAAC+D,KAAL,CAAWK,OAAX,CAAmB9B,IAH3B;QAIE,OAAO,EAAE,KAAKrE,eAJhB;QAKE,cAAY+B,IAAI,CAAC+D,KAAL,CAAWK,OAAX,CAAmB,YAAnB;MALd,gBAOE;QAAK,SAAS,EAAEhH,KAAK,CAAC8G,WAAtB;QAAmC,KAAK,EAAEzC;MAA1C,gBACE,oBAAC,UAAD;QAAY,SAAS,EAAErE,KAAK,CAACgH,OAA7B;QAAsC,KAAK,EAAE5C;MAA7C,EADF,CAPF,eAWE;QAAK,aAAU,OAAf;QAAuB,SAAS,EAAEpE,KAAK,CAAC+G;MAAxC,GACGnE,IAAI,CAAC+D,KAAL,CAAWK,OAAX,CAAmBD,KADtB,CAXF,CAfF,eA8BE,oBAAC,IAAD;QACE,SAAS,EAAE/G,KAAK,CAAC4G,IADnB;QAEE,aAAU,YAFZ;QAGE,IAAI,EAAEhE,IAAI,CAAC+D,KAAL,CAAWM,KAAX,CAAiB/B,IAHzB;QAIE,OAAO,EAAE,KAAKrE,eAJhB;QAKE,cAAY+B,IAAI,CAAC+D,KAAL,CAAWM,KAAX,CAAiB,YAAjB;MALd,gBAOE;QAAK,SAAS,EAAEjH,KAAK,CAAC8G,WAAtB;QAAmC,KAAK,EAAEzC;MAA1C,gBACE,oBAAC,UAAD;QAAY,SAAS,EAAErE,KAAK,CAACiH,KAA7B;QAAoC,KAAK,EAAE7C;MAA3C,EADF,CAPF,eAUE;QAAK,SAAS,EAAEpE,KAAK,CAAC+G;MAAtB,GAA8BnE,IAAI,CAAC+D,KAAL,CAAWM,KAAX,CAAiBF,KAA/C,CAVF,CA9BF,CADF,eA4CE;QAAK,SAAS,EAAE/G,KAAK,CAACkH;MAAtB,GACGV,oBADH,eAEE;QAAK,SAAS,EAAExG,KAAK,CAACmH,MAAtB;QAA8B,aAAU;MAAxC,gBACE,oBAAC,IAAD;QACE,IAAI,EAAEvE,IAAI,CAACsC,IADb;QAEE,SAAS,EAAElF,KAAK,CAACoH,QAFnB;QAGE,OAAO,EAAE,KAAKvG,eAHhB;QAIE,cAAY+B,IAAI,CAAC,oBAAD;MAJlB,gBAME,oBAAC,OAAD;QAAS,GAAG,EAAEA,IAAI,CAACyE;MAAnB,EANF,CADF,CAFF,CA5CF,CADF;IA4DD;;IAED,IAAI1E,QAAJ,EAAc;MACZ,MAAM2E,gBAAgB,GAAG3E,QAAQ,CAAC8B,GAAT,CAAa,CAAC8C,OAAD,EAAU5C,KAAV,KAAoB;QACxD,IAAI6C,WAAW,GAAG,IAAlB;QACA,MAAM;UACJC,OADI;UAEJC,IAFI;UAGJnC,KAHI;UAIJH,IAAI,EAAEuC,WAAW,GAAGhD,KAJhB;UAKJG,KALI;UAMJ8C,UANI;UAOJ,cAAcC;QAPV,IAQFN,OARJ;;QAUA,QAAQG,IAAR;UACE,KAAK,MAAL;YAAa;cACXF,WAAW,gBACT;gBAAK,aAAY,WAAUG,WAAY,EAAvC;gBAA0C,SAAS,EAAE3H,KAAK,CAACuH,OAA3D;gBAAoE,GAAG,EAAEI;cAAzE,gBACE,oBAAC,IAAD;gBACE,SAAS,EAAE3H,KAAK,CAAC8H,IADnB;gBAEE,IAAI,EAAEL,OAAO,CAACvC,IAFhB;gBAGE,SAAS,MAHX;gBAIE,UAAU,EAAE0C,UAJd;gBAKE,OAAO,EAAE,KAAK/G,eALhB;gBAME,MAAM,EAAE4G,OAAO,CAACxF,MAAR,IAAkB,IAN5B;gBAOE,cAAY4F,SAAS,IAAItC,KAP3B;gBAQE,KAAK,EAAE;kBACLT;gBADK;cART,GAYGS,KAZH,CADF,CADF;cAkBA;YACD;;UACD,KAAK,QAAL;YAAe;cACb,MAAMwC,WAAW,GAAG,EAApB;cACAA,WAAW,CAACN,OAAZ,GAAsBA,OAAO,CAACO,MAA9B;cACAD,WAAW,CAACxC,KAAZ,GAAoB,EAApB;cACAwC,WAAW,CAACE,KAAZ,GAAoB,QAApB;cACAF,WAAW,CAACG,QAAZ,GAAuBT,OAAO,CAACS,QAA/B;cAEAV,WAAW,gBACT;gBACE,aAAY,WAAUG,WAAY,EADpC;gBAEE,SAAS,EAAE3H,KAAK,CAACuH,OAFnB;gBAGE,GAAG,EAAEI,WAHP;gBAIE,cAAYE,SAAS,IAAItC;cAJ3B,gBAME;gBAAM,SAAS,EAAEvF,KAAK,CAAC+G;cAAvB,GAA+BxB,KAA/B,CANF,eAOE,oBAAC,MAAD,EAAYwC,WAAZ,CAPF,CADF;cAWA;YACD;;UACD,KAAK,QAAL;YAAe;cACb,MAAMI,WAAW,GAAG,EAApB;cACAA,WAAW,CAACvC,KAAZ,GAAoB6B,OAAO,CAAC7B,KAA5B;cACAuC,WAAW,CAACC,EAAZ,GAAkB,gBAAezD,KAAM,EAAvC;cACAwD,WAAW,CAACD,QAAZ,GAAuBT,OAAO,CAACS,QAA/B;cAEAV,WAAW,gBACT;gBACE,aAAY,WAAUG,WAAY,EADpC;gBAEE,SAAS,EAAE3H,KAAK,CAACuH,OAFnB;gBAGE,GAAG,EAAEI,WAHP;gBAIE,cAAYE,SAAS,IAAItC;cAJ3B,gBAME;gBAAM,SAAS,EAAEvF,KAAK,CAAC+G;cAAvB,GAA+BxB,KAA/B,CANF,eAOE,oBAAC,WAAD,EAAiB4C,WAAjB,CAPF,CADF;cAWA;YACD;QA5DH;;QA+DA,OAAOX,WAAP;MACD,CA5EwB,CAAzB;MA8EA5D,YAAY,gBACV;QAAK,SAAS,EAAE5D,KAAK,CAAC2C,QAAtB;QAAgC,GAAG,EAAE,KAAK7B;MAA1C,gBACE,oBAAC,OAAD;QACE,aAAU,iBADZ;QAEE,KAAK,EAAEqD,SAFT;QAGE,SAAS,EAAEnE,KAAK,CAACqI,cAHnB;QAIE,OAAO,EAAE,KAAK5H,oBAJhB;QAKE,iBAAeH,cALjB;QAME,cAAY0C;MANd,EADF,eASE;QAAK,SAAS,EAAE1C,cAAc,GAAGN,KAAK,CAACsI,eAAT,GAA2BtI,KAAK,CAACuI;MAA/D,gBACE;QAAK,aAAU,UAAf;QAA0B,SAAS,EAAEvI,KAAK,CAACwI;MAA3C,GACGlB,gBADH,CADF,eAIE;QACE,SAAS,EAAEtH,KAAK,CAACyI,aADnB;QAEE,OAAO,EAAE,KAAKhI,oBAFhB;QAGE,cAAYwC;MAHd,GAKGe,UALH,CAJF,CATF,CADF;IAwBD;;IAED,IAAIlB,MAAJ,EAAY;MACVgB,cAAc,gBACZ;QACE,aAAU,YADZ;QAEE,SAAS,EAAEvD,UAAU,GAAGP,KAAK,CAAC0I,eAAT,GAA2B1I,KAAK,CAAC2I;MAFxD,gBAIE,oBAAC,UAAD;QACE,MAAM,EAAE7F,MADV;QAEE,QAAQ,EAAE,KAAK/B,kBAFjB;QAGE,OAAO,EAAE,KAAKC,iBAHhB;QAIE,aAAa,EAAE,KAAKC,aAJtB;QAKE,YAAY,EAAE,KAAKC,YALrB;QAME,2BAAyB6B;MAN3B,EAJF,CADF;IAeD;;IAED,oBACE;MAAQ,SAAS,EAAE/C,KAAK,CAAC4I;IAAzB,gBACE;MACE,aAAU,YADZ;MAEE,aAAWrI,UAFb;MAGE,SAAS,EAAEA,UAAU,GAAGP,KAAK,CAAC6I,IAAT,GAAgB7I,KAAK,CAAC8I;IAH7C,gBAKE;MAAK,SAAS,EAAE9I,KAAK,CAAC+I;IAAtB,gBACE;MACE,SAAS,EAAE/I,KAAK,CAACgJ,SADnB;MAEE,aAAU,YAFZ;MAGE,cAAY1F;IAHd,gBAKE,oBAAC,UAAD;MACE,IAAI,EAAC,QADP;MAEE,aAAU,iBAFZ;MAGE,KAAK,EAAEY,WAHT;MAIE,SAAS,EAAE3D,UAAU,GAAGP,KAAK,CAACiJ,YAAT,GAAwBjJ,KAAK,CAACkJ,MAJrD;MAKE,OAAO,EAAE,KAAK/H;IALhB,EALF,eAYE,oBAAC,SAAD;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE+C,WAFT;MAGE,SAAS,EAAE3D,UAAU,GAAGP,KAAK,CAACmJ,KAAT,GAAiBnJ,KAAK,CAACoJ,WAH9C;MAIE,OAAO,EAAE,KAAKhI;IAJhB,EAZF,eAkBE,oBAAC,IAAD;MAAM,aAAU,aAAhB;MAA8B,IAAI,EAAEoB,IAAI,CAAC0C,IAAzC;MAA+C,cAAY7B;IAA3D,gBACE,oBAAC,OAAD;MAAS,GAAG,EAAEG;IAAd,EADF,CAlBF,CADF,eAuBE,oBAAC,IAAD;MACE,SAAS,EAAExD,KAAK,CAACwC,IADnB;MAEE,aAAU,MAFZ;MAGE,IAAI,EAAEA,IAAI,CAAC0C,IAHb;MAIE,cAAY7B;IAJd,gBAME,oBAAC,OAAD;MAAS,GAAG,EAAEE;IAAd,EANF,CAvBF,CALF,EAqCGO,cArCH,eAsCE;MACE,SAAS,EAAEvD,UAAU,GAAGP,KAAK,CAACqJ,WAAT,GAAuBrJ,KAAK,CAACsJ,iBADpD;MAEE,aAAU;IAFZ,GAIG7F,SAJH,EAKGE,QAAQ,IAAID,SALf,EAMGE,YANH,CAtCF,CADF,CADF;EAmDD;;AAhmBsC;;AAAnC3D,U,CA4FGsJ,Y,GAAe;EACpBrG,SAAS,EAAE1D,QAAQ,CAACgK,iBAAT,CAA2BtG,SADlB;EAEpBC,IAAI,EAAE3D,QAAQ,CAACgK,iBAAT,CAA2BrG;AAFb,C;AA5FlBlD,U,CACGwJ,S,2CAAY;EACjBjH,IAAI,EAAElE,SAAS,CAACoL,KAAV,CAAgB;IACpBC,GAAG,EAAErL,SAAS,CAACsL,MADK;IAEpBC,SAAS,EAAEvL,SAAS,CAACsL,MAFD;IAGpB1E,IAAI,EAAE5G,SAAS,CAACsL,MAHI;IAIpB,cAActL,SAAS,CAACsL,MAJJ;IAKpB,qBAAqBtL,SAAS,CAACsL;EALX,CAAhB,CADW;EAQjB9G,MAAM,EAAExE,SAAS,CAACoL,KAAV,CAAgB5J,MAAM,CAAC2J,SAAvB,CARS;EASjB,2BAA2BnL,SAAS,CAACsL,MATpB;EAUjBzH,cAAc,EAAE7D,SAAS,CAACwL,IAVT;EAWjB1H,aAAa,EAAE9D,SAAS,CAACwL,IAXR;EAYjBrH,KAAK,EAAEnE,SAAS,CAACoL,KAAV,CAAgB;IACrBlF,SAAS,EAAElG,SAAS,CAACyL,OAAV,CACTzL,SAAS,CAACoL,KAAV,CAAgB;MACdzH,MAAM,EAAE3D,SAAS,CAAC0L,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CADM;MAEdzE,KAAK,EAAEjH,SAAS,CAACsL,MAFH;MAGdxE,IAAI,EAAE9G,SAAS,CAACsL,MAHF;MAId1E,IAAI,EAAE5G,SAAS,CAACsL,MAJF;MAKd/E,QAAQ,EAAEvG,SAAS,CAAC2L,IALN;MAMdhF,OAAO,EAAE3G,SAAS,CAAC4L,MANL;MAOd,yBAAyB5L,SAAS,CAACsL;IAPrB,CAAhB,CADS,CADU;IAYrBlE,IAAI,EAAEpH,SAAS,CAACyL,OAAV,CACJzL,SAAS,CAACoL,KAAV,CAAgB;MACdzH,MAAM,EAAE3D,SAAS,CAAC0L,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CADM;MAEdzE,KAAK,EAAEjH,SAAS,CAACsL,MAFH;MAGdxE,IAAI,EAAE9G,SAAS,CAACsL,MAHF;MAId1E,IAAI,EAAE5G,SAAS,CAACsL,MAJF;MAKd/E,QAAQ,EAAEvG,SAAS,CAAC2L,IALN;MAMdhF,OAAO,EAAE3G,SAAS,CAAC4L;IANL,CAAhB,CADI;EAZe,CAAhB,CAZU;EAmCjBrH,KAAK,EAAEvE,SAAS,CAACyL,OAAV,CAAkBzL,SAAS,CAACoL,KAAV,CAAgBjK,GAAG,CAACgK,SAApB,CAAlB,CAnCU;EAoCjB7G,IAAI,EAAEtE,SAAS,CAACoL,KAAV,CAAgB;IACpBrC,OAAO,EAAE/I,SAAS,CAACsL,MADC;IAEpB,sBAAsBtL,SAAS,CAACsL,MAFZ;IAGpB1E,IAAI,EAAE5G,SAAS,CAACsL,MAHI;IAIpBrD,aAAa,EAAEjI,SAAS,CAACoL,KAAV,CAAgB;MAC7BxE,IAAI,EAAE5G,SAAS,CAACsL,MADa;MAE7BhE,KAAK,EAAEtH,SAAS,CAAC4L,MAFY;MAG7B,cAAc5L,SAAS,CAACsL;IAHK,CAAhB,CAJK;IASpBjD,KAAK,EAAErI,SAAS,CAACoL,KAAV,CAAgB;MACrB7C,KAAK,EAAEvI,SAAS,CAACoL,KAAV,CAAgB;QACrBxE,IAAI,EAAE5G,SAAS,CAACsL,MADK;QAErB7C,KAAK,EAAEzI,SAAS,CAACsL,MAFI;QAGrB,cAActL,SAAS,CAACsL;MAHH,CAAhB,CADc;MAMrB5C,OAAO,EAAE1I,SAAS,CAACoL,KAAV,CAAgB;QACvBxE,IAAI,EAAE5G,SAAS,CAACsL,MADO;QAEvB7C,KAAK,EAAEzI,SAAS,CAACsL,MAFM;QAGvB,cAActL,SAAS,CAACsL;MAHD,CAAhB,CANY;MAWrB3C,KAAK,EAAE3I,SAAS,CAACoL,KAAV,CAAgB;QACrBxE,IAAI,EAAE5G,SAAS,CAACsL,MADK;QAErB7C,KAAK,EAAEzI,SAAS,CAACsL,MAFI;QAGrB,cAActL,SAAS,CAACsL;MAHH,CAAhB;IAXc,CAAhB;EATa,CAAhB,CApCW;EA+DjB,uBAAuBtL,SAAS,CAACsL,MA/DhB;EAgEjB,6BAA6BtL,SAAS,CAACsL,MAhEtB;EAiEjBjH,QAAQ,EAAErE,SAAS,CAACyL,OAAV,CACRzL,SAAS,CAACoL,KAAV,CAAgB;IACdnE,KAAK,EAAEjH,SAAS,CAACsL,MADH;IAEdxE,IAAI,EAAE9G,SAAS,CAACsL,MAFF;IAGdlC,IAAI,EAAEpJ,SAAS,CAAC0L,KAAV,CAAgB,CAAC,QAAD,EAAW,QAAX,EAAqB,MAArB,CAAhB,CAHQ;IAIdlF,KAAK,EAAExG,SAAS,CAACsL,MAJH;IAKd,cAActL,SAAS,CAACsL,MALV;IAMdnC,OAAO,EAAEnJ,SAAS,CAACoL,KAAV,CAAgB;MACvBxE,IAAI,EAAE5G,SAAS,CAACsL,MADO;MAEvB1B,QAAQ,EAAE5J,SAAS,CAACwL,IAFG;MAGvBlE,KAAK,EAAEtH,SAAS,CAAC2L,IAHM;MAIvBhI,MAAM,EAAE3D,SAAS,CAAC0L,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CAJe;MAKvBhC,MAAM,EAAE1J,SAAS,CAACyL,OAAV,CACNzL,SAAS,CAACoL,KAAV,CAAgB;QACd9D,KAAK,EAAEtH,SAAS,CAACsL,MADH;QAEdxE,IAAI,EAAE9G,SAAS,CAACsL,MAFF;QAGd/E,QAAQ,EAAEvG,SAAS,CAAC2L;MAHN,CAAhB,CADM;IALe,CAAhB;EANK,CAAhB,CADQ,CAjEO;EAuFjB5H,UAAU,EAAE/D,SAAS,CAACwL,IAvFL;EAwFjBxH,WAAW,EAAEhE,SAAS,CAACwL;AAxFN,C;AAkmBrB,eAAe7J,UAAf"}
@@ -68,7 +68,7 @@
68
68
  height: 100%;
69
69
  }
70
70
 
71
- .logoMobile {
71
+ .navMobile {
72
72
  display: none;
73
73
  }
74
74
 
@@ -108,9 +108,28 @@
108
108
  transition: transform 0.3s;
109
109
  }
110
110
 
111
- .caretUp {
111
+ .burger {
112
+ margin: 0 20px 0 0;
113
+ color: medium;
114
+ width: 25px;
115
+ height: 25px;
116
+ }
117
+
118
+ .burgerHidden {
112
119
  composes: caret;
113
- transform: rotate(180deg);
120
+ display: none;
121
+ }
122
+
123
+ .close {
124
+ margin: 0 20px 0 0;
125
+ color: medium;
126
+ width: 25px;
127
+ height: 25px;
128
+ }
129
+
130
+ .closeHidden {
131
+ composes: close;
132
+ display: none;
114
133
  }
115
134
 
116
135
  .optionsGroup {
@@ -498,7 +517,7 @@
498
517
  height: 100%;
499
518
  }
500
519
 
501
- .logoMobile {
520
+ .navMobile {
502
521
  display: none;
503
522
  }
504
523
 
@@ -532,14 +551,14 @@
532
551
  .logoWrapper {
533
552
  background-color: white;
534
553
  z-index: 2;
535
- margin: 0 8px;
554
+ margin: 0 8px 0 0;
536
555
  }
537
556
 
538
557
  .logo {
539
558
  display: none;
540
559
  }
541
560
 
542
- .logoMobile {
561
+ .navMobile {
543
562
  display: flex;
544
563
  align-items: center;
545
564
  cursor: pointer;
@@ -551,7 +570,7 @@
551
570
  min-height: 30px;
552
571
  }
553
572
 
554
- .logoMobile img {
573
+ .navMobile img {
555
574
  height: auto;
556
575
  max-height: 50px;
557
576
  width: auto;
@@ -560,11 +579,6 @@
560
579
  align-self: center;
561
580
  }
562
581
 
563
- .logoMobile .notifications {
564
- top: 5px;
565
- right: 10px;
566
- }
567
-
568
582
  .hiddenMenuWrapper {
569
583
  display: none;
570
584
  top: 0px;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-congrats/index.js"],"names":[],"mappings":"AAOO,sDAMN;;AAED,yDA6DC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-congrats/index.js"],"names":[],"mappings":"AAOO,sDAMN;;AAED,yDAsEC"}
@@ -32,7 +32,8 @@ const ReviewCongrats = props => {
32
32
  return /*#__PURE__*/React.createElement("div", {
33
33
  className: style.mainContainer,
34
34
  "aria-label": ariaLabel,
35
- "data-name": dataName
35
+ "data-name": dataName,
36
+ "data-testid": "congrats"
36
37
  }, /*#__PURE__*/React.createElement(AtomLottieWrapper, _extends({}, animationLottie, {
37
38
  loop: false,
38
39
  animationControl: 'play',
@@ -58,9 +59,10 @@ const ReviewCongrats = props => {
58
59
  className: style.buttonContainer
59
60
  }, buttonRevising ? /*#__PURE__*/React.createElement(ButtonLink, _extends({}, buttonRevising, {
60
61
  className: style.buttonRevise,
61
- "data-name": "revise-skill-link"
62
+ "data-testid": "revise-skill-link"
62
63
  })) : null, buttonRevisingSkill ? /*#__PURE__*/React.createElement(ButtonLink, _extends({}, buttonRevisingSkill, {
63
- className: style.buttonRevise
64
+ className: style.buttonRevise,
65
+ "data-testid": "revise-another-skill-link"
64
66
  })) : null)));
65
67
  };
66
68
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useRef","AtomLottieWrapper","ButtonLink","MoleculeReviewCardCongrats","style","propTypes","setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","timer","setTimeout","clearTimeout","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","cardStarNoRank","buttonContainer","buttonRevise"],"sources":["../../../src/organism/review-congrats/index.js"],"sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\nimport ButtonLink from '../../atom/button-link';\nimport MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nexport const setScroll = container => () => {\n container.current?.scrollTo &&\n container.current.scrollTo({\n left: 1000,\n behavior: 'smooth'\n });\n};\n\nconst ReviewCongrats = props => {\n const {\n 'aria-label': ariaLabel,\n 'data-name': dataName,\n animationLottie,\n title,\n cardCongratsStar,\n cardCongratsRank,\n buttonRevising,\n buttonRevisingSkill\n } = props;\n\n const container = useRef(null);\n\n useEffect(() => {\n const timer = setTimeout(setScroll(container), 2000);\n return () => timer && clearTimeout(timer);\n }, []);\n\n return (\n <div className={style.mainContainer} aria-label={ariaLabel} data-name={dataName}>\n <AtomLottieWrapper\n {...animationLottie}\n loop={false}\n animationControl={'play'}\n autoplay\n data-name=\"lottie-wrapper\"\n className={style.lottie}\n backupImageClassName={style.ie11Backup}\n />\n <div className={style.containerCongrats}>\n <div className={style.title}>{title}</div>\n <div ref={container} className={style.containerCards}>\n {cardCongratsRank ? (\n <>\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStar} />\n <MoleculeReviewCardCongrats\n {...cardCongratsRank}\n timerAnimation={1800}\n className={style.cardRank}\n />\n </>\n ) : (\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStarNoRank} />\n )}\n </div>\n <div className={style.buttonContainer}>\n {buttonRevising ? (\n <ButtonLink\n {...buttonRevising}\n className={style.buttonRevise}\n data-name=\"revise-skill-link\"\n />\n ) : null}\n {buttonRevisingSkill ? (\n <ButtonLink {...buttonRevisingSkill} className={style.buttonRevise} />\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nReviewCongrats.propTypes = propTypes;\n\nexport default ReviewCongrats;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,SAAf,EAA0BC,MAA1B,QAAuC,OAAvC;AACA,OAAOC,iBAAP,MAA8B,2BAA9B;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,0BAAP,MAAuC,qCAAvC;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AAEA,OAAO,MAAMC,SAAS,GAAGC,SAAS,IAAI,MAAM;EAC1CA,SAAS,CAACC,OAAV,EAAmBC,QAAnB,IACEF,SAAS,CAACC,OAAV,CAAkBC,QAAlB,CAA2B;IACzBC,IAAI,EAAE,IADmB;IAEzBC,QAAQ,EAAE;EAFe,CAA3B,CADF;AAKD,CANM;;AAQP,MAAMC,cAAc,GAAGC,KAAK,IAAI;EAC9B,MAAM;IACJ,cAAcC,SADV;IAEJ,aAAaC,QAFT;IAGJC,eAHI;IAIJC,KAJI;IAKJC,gBALI;IAMJC,gBANI;IAOJC,cAPI;IAQJC;EARI,IASFR,KATJ;EAWA,MAAMN,SAAS,GAAGP,MAAM,CAAC,IAAD,CAAxB;EAEAD,SAAS,CAAC,MAAM;IACd,MAAMuB,KAAK,GAAGC,UAAU,CAACjB,SAAS,CAACC,SAAD,CAAV,EAAuB,IAAvB,CAAxB;IACA,OAAO,MAAMe,KAAK,IAAIE,YAAY,CAACF,KAAD,CAAlC;EACD,CAHQ,EAGN,EAHM,CAAT;EAKA,oBACE;IAAK,SAAS,EAAElB,KAAK,CAACqB,aAAtB;IAAqC,cAAYX,SAAjD;IAA4D,aAAWC;EAAvE,gBACE,oBAAC,iBAAD,eACMC,eADN;IAEE,IAAI,EAAE,KAFR;IAGE,gBAAgB,EAAE,MAHpB;IAIE,QAAQ,MAJV;IAKE,aAAU,gBALZ;IAME,SAAS,EAAEZ,KAAK,CAACsB,MANnB;IAOE,oBAAoB,EAAEtB,KAAK,CAACuB;EAP9B,GADF,eAUE;IAAK,SAAS,EAAEvB,KAAK,CAACwB;EAAtB,gBACE;IAAK,SAAS,EAAExB,KAAK,CAACa;EAAtB,GAA8BA,KAA9B,CADF,eAEE;IAAK,GAAG,EAAEV,SAAV;IAAqB,SAAS,EAAEH,KAAK,CAACyB;EAAtC,GACGV,gBAAgB,gBACf,uDACE,oBAAC,0BAAD,eAAgCD,gBAAhC;IAAkD,SAAS,EAAEd,KAAK,CAAC0B;EAAnE,GADF,eAEE,oBAAC,0BAAD,eACMX,gBADN;IAEE,cAAc,EAAE,IAFlB;IAGE,SAAS,EAAEf,KAAK,CAAC2B;EAHnB,GAFF,CADe,gBAUf,oBAAC,0BAAD,eAAgCb,gBAAhC;IAAkD,SAAS,EAAEd,KAAK,CAAC4B;EAAnE,GAXJ,CAFF,eAgBE;IAAK,SAAS,EAAE5B,KAAK,CAAC6B;EAAtB,GACGb,cAAc,gBACb,oBAAC,UAAD,eACMA,cADN;IAEE,SAAS,EAAEhB,KAAK,CAAC8B,YAFnB;IAGE,aAAU;EAHZ,GADa,GAMX,IAPN,EAQGb,mBAAmB,gBAClB,oBAAC,UAAD,eAAgBA,mBAAhB;IAAqC,SAAS,EAAEjB,KAAK,CAAC8B;EAAtD,GADkB,GAEhB,IAVN,CAhBF,CAVF,CADF;AA0CD,CA7DD;;AA+DAtB,cAAc,CAACP,SAAf,2CAA2BA,SAA3B;AAEA,eAAeO,cAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useRef","AtomLottieWrapper","ButtonLink","MoleculeReviewCardCongrats","style","propTypes","setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","timer","setTimeout","clearTimeout","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","cardStarNoRank","buttonContainer","buttonRevise"],"sources":["../../../src/organism/review-congrats/index.js"],"sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\nimport ButtonLink from '../../atom/button-link';\nimport MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nexport const setScroll = container => () => {\n container.current?.scrollTo &&\n container.current.scrollTo({\n left: 1000,\n behavior: 'smooth'\n });\n};\n\nconst ReviewCongrats = props => {\n const {\n 'aria-label': ariaLabel,\n 'data-name': dataName,\n animationLottie,\n title,\n cardCongratsStar,\n cardCongratsRank,\n buttonRevising,\n buttonRevisingSkill\n } = props;\n\n const container = useRef(null);\n\n useEffect(() => {\n const timer = setTimeout(setScroll(container), 2000);\n return () => timer && clearTimeout(timer);\n }, []);\n\n return (\n <div\n className={style.mainContainer}\n aria-label={ariaLabel}\n data-name={dataName}\n data-testid=\"congrats\"\n >\n <AtomLottieWrapper\n {...animationLottie}\n loop={false}\n animationControl={'play'}\n autoplay\n data-name=\"lottie-wrapper\"\n className={style.lottie}\n backupImageClassName={style.ie11Backup}\n />\n <div className={style.containerCongrats}>\n <div className={style.title}>{title}</div>\n <div ref={container} className={style.containerCards}>\n {cardCongratsRank ? (\n <>\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStar} />\n <MoleculeReviewCardCongrats\n {...cardCongratsRank}\n timerAnimation={1800}\n className={style.cardRank}\n />\n </>\n ) : (\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStarNoRank} />\n )}\n </div>\n <div className={style.buttonContainer}>\n {buttonRevising ? (\n <ButtonLink\n {...buttonRevising}\n className={style.buttonRevise}\n data-testid=\"revise-skill-link\"\n />\n ) : null}\n {buttonRevisingSkill ? (\n <ButtonLink\n {...buttonRevisingSkill}\n className={style.buttonRevise}\n data-testid=\"revise-another-skill-link\"\n />\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nReviewCongrats.propTypes = propTypes;\n\nexport default ReviewCongrats;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,SAAf,EAA0BC,MAA1B,QAAuC,OAAvC;AACA,OAAOC,iBAAP,MAA8B,2BAA9B;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,0BAAP,MAAuC,qCAAvC;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AAEA,OAAO,MAAMC,SAAS,GAAGC,SAAS,IAAI,MAAM;EAC1CA,SAAS,CAACC,OAAV,EAAmBC,QAAnB,IACEF,SAAS,CAACC,OAAV,CAAkBC,QAAlB,CAA2B;IACzBC,IAAI,EAAE,IADmB;IAEzBC,QAAQ,EAAE;EAFe,CAA3B,CADF;AAKD,CANM;;AAQP,MAAMC,cAAc,GAAGC,KAAK,IAAI;EAC9B,MAAM;IACJ,cAAcC,SADV;IAEJ,aAAaC,QAFT;IAGJC,eAHI;IAIJC,KAJI;IAKJC,gBALI;IAMJC,gBANI;IAOJC,cAPI;IAQJC;EARI,IASFR,KATJ;EAWA,MAAMN,SAAS,GAAGP,MAAM,CAAC,IAAD,CAAxB;EAEAD,SAAS,CAAC,MAAM;IACd,MAAMuB,KAAK,GAAGC,UAAU,CAACjB,SAAS,CAACC,SAAD,CAAV,EAAuB,IAAvB,CAAxB;IACA,OAAO,MAAMe,KAAK,IAAIE,YAAY,CAACF,KAAD,CAAlC;EACD,CAHQ,EAGN,EAHM,CAAT;EAKA,oBACE;IACE,SAAS,EAAElB,KAAK,CAACqB,aADnB;IAEE,cAAYX,SAFd;IAGE,aAAWC,QAHb;IAIE,eAAY;EAJd,gBAME,oBAAC,iBAAD,eACMC,eADN;IAEE,IAAI,EAAE,KAFR;IAGE,gBAAgB,EAAE,MAHpB;IAIE,QAAQ,MAJV;IAKE,aAAU,gBALZ;IAME,SAAS,EAAEZ,KAAK,CAACsB,MANnB;IAOE,oBAAoB,EAAEtB,KAAK,CAACuB;EAP9B,GANF,eAeE;IAAK,SAAS,EAAEvB,KAAK,CAACwB;EAAtB,gBACE;IAAK,SAAS,EAAExB,KAAK,CAACa;EAAtB,GAA8BA,KAA9B,CADF,eAEE;IAAK,GAAG,EAAEV,SAAV;IAAqB,SAAS,EAAEH,KAAK,CAACyB;EAAtC,GACGV,gBAAgB,gBACf,uDACE,oBAAC,0BAAD,eAAgCD,gBAAhC;IAAkD,SAAS,EAAEd,KAAK,CAAC0B;EAAnE,GADF,eAEE,oBAAC,0BAAD,eACMX,gBADN;IAEE,cAAc,EAAE,IAFlB;IAGE,SAAS,EAAEf,KAAK,CAAC2B;EAHnB,GAFF,CADe,gBAUf,oBAAC,0BAAD,eAAgCb,gBAAhC;IAAkD,SAAS,EAAEd,KAAK,CAAC4B;EAAnE,GAXJ,CAFF,eAgBE;IAAK,SAAS,EAAE5B,KAAK,CAAC6B;EAAtB,GACGb,cAAc,gBACb,oBAAC,UAAD,eACMA,cADN;IAEE,SAAS,EAAEhB,KAAK,CAAC8B,YAFnB;IAGE,eAAY;EAHd,GADa,GAMX,IAPN,EAQGb,mBAAmB,gBAClB,oBAAC,UAAD,eACMA,mBADN;IAEE,SAAS,EAAEjB,KAAK,CAAC8B,YAFnB;IAGE,eAAY;EAHd,GADkB,GAMhB,IAdN,CAhBF,CAfF,CADF;AAmDD,CAtED;;AAwEAtB,cAAc,CAACP,SAAf,2CAA2BA,SAA3B;AAEA,eAAeO,cAAf"}
@@ -55,7 +55,7 @@ const ReviewHeader = (props, context) => {
55
55
  key: 'review-header-steps'
56
56
  })), /*#__PURE__*/React.createElement("div", {
57
57
  className: style.iconButtonWrapper,
58
- "data-name": "review-header-close-button-wrapper"
58
+ "data-testid": "review-header-close-button-wrapper"
59
59
  }, /*#__PURE__*/React.createElement(ButtonLinkIconOnly, buttonProps)));
60
60
  };
61
61