@coorpacademy/components 11.2.6 → 11.2.7

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 (58) hide show
  1. package/es/molecule/filters/index.d.ts +2 -0
  2. package/es/molecule/filters/index.d.ts.map +1 -1
  3. package/es/molecule/filters/index.js +10 -4
  4. package/es/molecule/filters/index.js.map +1 -1
  5. package/es/organism/mooc-footer/index.d.ts +1 -0
  6. package/es/organism/mooc-footer/index.d.ts.map +1 -1
  7. package/es/organism/mooc-footer/index.js +3 -1
  8. package/es/organism/mooc-footer/index.js.map +1 -1
  9. package/es/organism/mooc-header/index.d.ts.map +1 -1
  10. package/es/organism/mooc-header/index.js +4 -3
  11. package/es/organism/mooc-header/index.js.map +1 -1
  12. package/es/organism/review-congrats/index.native.d.ts.map +1 -1
  13. package/es/organism/review-congrats/index.native.js +5 -4
  14. package/es/organism/review-congrats/index.native.js.map +1 -1
  15. package/es/organism/review-slide/index.native.d.ts.map +1 -1
  16. package/es/organism/review-slide/index.native.js +3 -1
  17. package/es/organism/review-slide/index.native.js.map +1 -1
  18. package/es/organism/review-stacked-slides/index.native.d.ts +0 -1
  19. package/es/organism/review-stacked-slides/index.native.d.ts.map +1 -1
  20. package/es/organism/review-stacked-slides/index.native.js +37 -32
  21. package/es/organism/review-stacked-slides/index.native.js.map +1 -1
  22. package/es/template/activity/stars-summary.css +2 -0
  23. package/es/template/activity/stars-summary.js +2 -2
  24. package/es/template/activity/stars-summary.js.map +1 -1
  25. package/es/template/common/search-page/index.d.ts +4 -0
  26. package/es/template/common/search-page/index.d.ts.map +1 -1
  27. package/es/template/common/search-page/index.js +10 -3
  28. package/es/template/common/search-page/index.js.map +1 -1
  29. package/lib/molecule/filters/index.d.ts +2 -0
  30. package/lib/molecule/filters/index.d.ts.map +1 -1
  31. package/lib/molecule/filters/index.js +10 -4
  32. package/lib/molecule/filters/index.js.map +1 -1
  33. package/lib/organism/mooc-footer/index.d.ts +1 -0
  34. package/lib/organism/mooc-footer/index.d.ts.map +1 -1
  35. package/lib/organism/mooc-footer/index.js +3 -1
  36. package/lib/organism/mooc-footer/index.js.map +1 -1
  37. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  38. package/lib/organism/mooc-header/index.js +4 -3
  39. package/lib/organism/mooc-header/index.js.map +1 -1
  40. package/lib/organism/review-congrats/index.native.d.ts.map +1 -1
  41. package/lib/organism/review-congrats/index.native.js +5 -4
  42. package/lib/organism/review-congrats/index.native.js.map +1 -1
  43. package/lib/organism/review-slide/index.native.d.ts.map +1 -1
  44. package/lib/organism/review-slide/index.native.js +3 -1
  45. package/lib/organism/review-slide/index.native.js.map +1 -1
  46. package/lib/organism/review-stacked-slides/index.native.d.ts +0 -1
  47. package/lib/organism/review-stacked-slides/index.native.d.ts.map +1 -1
  48. package/lib/organism/review-stacked-slides/index.native.js +38 -34
  49. package/lib/organism/review-stacked-slides/index.native.js.map +1 -1
  50. package/lib/template/activity/stars-summary.css +2 -0
  51. package/lib/template/activity/stars-summary.js +2 -2
  52. package/lib/template/activity/stars-summary.js.map +1 -1
  53. package/lib/template/common/search-page/index.d.ts +4 -0
  54. package/lib/template/common/search-page/index.d.ts.map +1 -1
  55. package/lib/template/common/search-page/index.js +10 -3
  56. package/lib/template/common/search-page/index.js.map +1 -1
  57. package/locales/.mtslconfig.json +1 -0
  58. package/package.json +2 -2
@@ -35,6 +35,8 @@ declare class Filters extends React.Component<any, any, any> {
35
35
  onSearch: PropTypes.Requireable<(...args: any[]) => any>;
36
36
  onToggleFilters: PropTypes.Requireable<(...args: any[]) => any>;
37
37
  onToggleSorts: PropTypes.Requireable<(...args: any[]) => any>;
38
+ moreSortAriaLabel: PropTypes.Requireable<string>;
39
+ moreFilterAriaLabel: PropTypes.Requireable<string>;
38
40
  };
39
41
  static contextTypes: {
40
42
  skin: PropTypes.Requireable<PropTypes.InferProps<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/filters/index.js"],"names":[],"mappings":";AASA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAYE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF,wBASC;IAPC;;;MAGC;IAMH,yBAcC;IAED,uBAYC;IAED,qBAOC;IAED,sBA8EC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/filters/index.js"],"names":[],"mappings":";AASA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAcE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF,wBASC;IAPC;;;MAGC;IAMH,yBAcC;IAED,uBAYC;IAED,qBAOC;IAED,sBAsFC;CACF"}
@@ -70,7 +70,9 @@ class Filters extends React.Component {
70
70
  filterTabLabel,
71
71
  sortCTALabel,
72
72
  sortTabLabel,
73
- filters
73
+ filters,
74
+ moreFilterAriaLabel,
75
+ moreSortAriaLabel
74
76
  } = this.props;
75
77
  const {
76
78
  filter,
@@ -105,7 +107,8 @@ class Filters extends React.Component {
105
107
  className: style.arrow
106
108
  }, /*#__PURE__*/React.createElement(ArrowDown, {
107
109
  color: darkColor,
108
- height: 14
110
+ height: 14,
111
+ "aria-label": moreFilterAriaLabel
109
112
  })))), /*#__PURE__*/React.createElement("div", {
110
113
  "data-name": "sortBy",
111
114
  "data-open": sortingActive,
@@ -118,7 +121,8 @@ class Filters extends React.Component {
118
121
  className: style.arrow
119
122
  }, /*#__PURE__*/React.createElement(ArrowDown, {
120
123
  color: darkColor,
121
- height: 14
124
+ height: 14,
125
+ "aria-label": moreSortAriaLabel
122
126
  })))), /*#__PURE__*/React.createElement("div", {
123
127
  "data-name": "filterWrapper",
124
128
  className: filtersActive ? style.activeWrapperFilters : style.wrapperFilters
@@ -161,7 +165,9 @@ Filters.propTypes = process.env.NODE_ENV !== "production" ? {
161
165
  sorting: PropTypes.shape(Select.propTypes),
162
166
  onSearch: PropTypes.func,
163
167
  onToggleFilters: PropTypes.func,
164
- onToggleSorts: PropTypes.func
168
+ onToggleSorts: PropTypes.func,
169
+ moreSortAriaLabel: PropTypes.string,
170
+ moreFilterAriaLabel: PropTypes.string
165
171
  } : {};
166
172
  export default Filters;
167
173
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowDown","ArrowDown","Select","Provider","style","FiltersWrapper","Filters","Component","constructor","props","state","filter","openFilters","sorted","openSorts","handleOpenFilter","bind","handleOpenSort","handleSearch","onToggleFilters","newValue","setState","onToggleSorts","onSearch","render","sorting","filterCTALabel","filterTabLabel","sortCTALabel","sortTabLabel","filters","skin","context","defaultColor","darkColor","filtersActive","sortingActive","sortView","undefined","select","search","activeDefault","default","title","arrow","activeWrapperSortBy","wrapperSortBy","activeWrapperFilters","wrapperFilters","wrapper","CTAfilter","backgroundColor","activeSorting","contextTypes","childContextTypes","propTypes","string","bool","shape","func"],"sources":["../../../src/molecule/filters/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Select from '../../atom/select';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\nimport FiltersWrapper from './filters-wrapper';\n\nclass Filters extends React.Component {\n static propTypes = {\n filterCTALabel: PropTypes.string,\n filterTabLabel: PropTypes.string,\n sortCTALabel: PropTypes.string,\n sortTabLabel: PropTypes.string,\n openFilters: PropTypes.bool,\n openSorts: PropTypes.bool,\n filters: FiltersWrapper.propTypes.filters,\n sorting: PropTypes.shape(Select.propTypes),\n onSearch: PropTypes.func,\n onToggleFilters: PropTypes.func,\n onToggleSorts: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n filter: !!props.openFilters,\n sorted: !!props.openSorts\n };\n this.handleOpenFilter = this.handleOpenFilter.bind(this);\n this.handleOpenSort = this.handleOpenSort.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n }\n\n handleOpenFilter() {\n const {filter} = this.state;\n const {onToggleFilters} = this.props;\n\n const newValue = !filter;\n\n this.setState({\n filter: newValue,\n sorted: false\n });\n\n if (onToggleFilters) {\n onToggleFilters(newValue);\n }\n }\n\n handleOpenSort() {\n const {sorted} = this.state;\n const {onToggleSorts} = this.props;\n\n const newValue = !sorted;\n\n this.setState({\n sorted: newValue,\n filter: false\n });\n\n if (onToggleSorts) onToggleSorts(newValue);\n }\n\n handleSearch() {\n const {onSearch} = this.props;\n this.setState({\n sorted: false,\n filter: false\n });\n if (onSearch) onSearch();\n }\n\n render() {\n const {sorting, filterCTALabel, filterTabLabel, sortCTALabel, sortTabLabel, filters} =\n this.props;\n const {filter, sorted} = this.state;\n const {skin} = this.context;\n\n const defaultColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const filtersActive = filter === true;\n const sortingActive = sorted === true;\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\" className={style.select}>\n <Select {...sorting} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"search\" className={style.search}>\n <div\n data-name=\"filter\"\n data-open={filtersActive}\n className={filtersActive ? style.activeDefault : style.default}\n >\n <div className={style.title} data-name=\"filterButton\" onClick={this.handleOpenFilter}>\n {filterTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} />\n </div>\n </div>\n </div>\n <div\n data-name=\"sortBy\"\n data-open={sortingActive}\n className={sortingActive ? style.activeWrapperSortBy : style.wrapperSortBy}\n >\n <div className={style.title} data-name=\"sortButton\" onClick={this.handleOpenSort}>\n {sortTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} />\n </div>\n </div>\n </div>\n <div\n data-name=\"filterWrapper\"\n className={filtersActive ? style.activeWrapperFilters : style.wrapperFilters}\n >\n <FiltersWrapper className={style.wrapper} filters={filters} />\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {filterCTALabel}\n </div>\n </div>\n <div\n data-name=\"sortWrapper\"\n className={sortingActive ? style.activeSorting : style.sorting}\n >\n {sortView}\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {sortCTALabel}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default Filters;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowDown","ArrowDown","Select","Provider","style","FiltersWrapper","Filters","Component","constructor","props","state","filter","openFilters","sorted","openSorts","handleOpenFilter","bind","handleOpenSort","handleSearch","onToggleFilters","newValue","setState","onToggleSorts","onSearch","render","sorting","filterCTALabel","filterTabLabel","sortCTALabel","sortTabLabel","filters","moreFilterAriaLabel","moreSortAriaLabel","skin","context","defaultColor","darkColor","filtersActive","sortingActive","sortView","undefined","select","search","activeDefault","default","title","arrow","activeWrapperSortBy","wrapperSortBy","activeWrapperFilters","wrapperFilters","wrapper","CTAfilter","backgroundColor","activeSorting","contextTypes","childContextTypes","propTypes","string","bool","shape","func"],"sources":["../../../src/molecule/filters/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Select from '../../atom/select';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\nimport FiltersWrapper from './filters-wrapper';\n\nclass Filters extends React.Component {\n static propTypes = {\n filterCTALabel: PropTypes.string,\n filterTabLabel: PropTypes.string,\n sortCTALabel: PropTypes.string,\n sortTabLabel: PropTypes.string,\n openFilters: PropTypes.bool,\n openSorts: PropTypes.bool,\n filters: FiltersWrapper.propTypes.filters,\n sorting: PropTypes.shape(Select.propTypes),\n onSearch: PropTypes.func,\n onToggleFilters: PropTypes.func,\n onToggleSorts: PropTypes.func,\n moreSortAriaLabel: PropTypes.string,\n moreFilterAriaLabel: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n filter: !!props.openFilters,\n sorted: !!props.openSorts\n };\n this.handleOpenFilter = this.handleOpenFilter.bind(this);\n this.handleOpenSort = this.handleOpenSort.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n }\n\n handleOpenFilter() {\n const {filter} = this.state;\n const {onToggleFilters} = this.props;\n\n const newValue = !filter;\n\n this.setState({\n filter: newValue,\n sorted: false\n });\n\n if (onToggleFilters) {\n onToggleFilters(newValue);\n }\n }\n\n handleOpenSort() {\n const {sorted} = this.state;\n const {onToggleSorts} = this.props;\n\n const newValue = !sorted;\n\n this.setState({\n sorted: newValue,\n filter: false\n });\n\n if (onToggleSorts) onToggleSorts(newValue);\n }\n\n handleSearch() {\n const {onSearch} = this.props;\n this.setState({\n sorted: false,\n filter: false\n });\n if (onSearch) onSearch();\n }\n\n render() {\n const {\n sorting,\n filterCTALabel,\n filterTabLabel,\n sortCTALabel,\n sortTabLabel,\n filters,\n moreFilterAriaLabel,\n moreSortAriaLabel\n } = this.props;\n const {filter, sorted} = this.state;\n const {skin} = this.context;\n\n const defaultColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const filtersActive = filter === true;\n const sortingActive = sorted === true;\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\" className={style.select}>\n <Select {...sorting} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"search\" className={style.search}>\n <div\n data-name=\"filter\"\n data-open={filtersActive}\n className={filtersActive ? style.activeDefault : style.default}\n >\n <div className={style.title} data-name=\"filterButton\" onClick={this.handleOpenFilter}>\n {filterTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreFilterAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"sortBy\"\n data-open={sortingActive}\n className={sortingActive ? style.activeWrapperSortBy : style.wrapperSortBy}\n >\n <div className={style.title} data-name=\"sortButton\" onClick={this.handleOpenSort}>\n {sortTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreSortAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"filterWrapper\"\n className={filtersActive ? style.activeWrapperFilters : style.wrapperFilters}\n >\n <FiltersWrapper className={style.wrapper} filters={filters} />\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {filterCTALabel}\n </div>\n </div>\n <div\n data-name=\"sortWrapper\"\n className={sortingActive ? style.activeSorting : style.sorting}\n >\n {sortView}\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {sortCTALabel}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default Filters;\n"],"mappings":"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"}
@@ -18,6 +18,7 @@ declare namespace MoocFooter {
18
18
  title: PropTypes.Requireable<string>;
19
19
  link: PropTypes.Requireable<string>;
20
20
  target: PropTypes.Requireable<string>;
21
+ ariaLabel: PropTypes.Requireable<string>;
21
22
  }> | null | undefined)[]>;
22
23
  }> | null | undefined)[]>;
23
24
  socialLinks: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-footer/index.js"],"names":[],"mappings":";AA+CA,qDA+HC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-footer/index.js"],"names":[],"mappings":";AA+CA,qDAgIC"}
@@ -93,6 +93,7 @@ function MoocFooter(props) {
93
93
  "data-text": page.title,
94
94
  className: style.pageLink,
95
95
  target: page.target,
96
+ "aria-label": page.ariaLabel ? page.ariaLabel : page.title,
96
97
  "data-name": page.title
97
98
  }, page.title));
98
99
  }));
@@ -160,7 +161,8 @@ MoocFooter.propTypes = process.env.NODE_ENV !== "production" ? {
160
161
  pages: PropTypes.arrayOf(PropTypes.shape({
161
162
  title: PropTypes.string,
162
163
  link: PropTypes.string,
163
- target: PropTypes.string
164
+ target: PropTypes.string,
165
+ ariaLabel: PropTypes.string
164
166
  }))
165
167
  })),
166
168
  socialLinks: PropTypes.arrayOf(PropTypes.shape({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionCoorpacademyCoorpApp","CoorpAppLogo","NovaCompositionCoorpacademyCoorpLogo","CoorpLogo","Link","SocialLink","Picture","style","socialLinksTypes","StoresLinks","onAppStoreButtonClick","appStoreButtonImageUrl","playStoreButtonImageUrl","onPlayStoreButtonClick","androidAlt","iosAlt","storeLinksContainer","imgApple","img","propTypes","func","string","MoocFooter","props","headSection","socialLinks","logoAriaLabel","socialLinksAriaLabel","siteMapSections","headSectionView","headSpacingContainer","headSectionWrapper","logoAndLabelWrapper","logoWrapper","coorpAppLogo","marketingLabel","title","mobileAppLinks","renderPagesFromSection","pages","pagesList","map","page","pindex","handleClick","onClick","link","pageLink","target","sections","section","index","sectionWrapper","sectionTitle","socialLinksView","socialLink","type","socialNetworks","logoSocialNetworksContainer","coorpLogo","socialNetworksWrapper","siteMap","siteMapSpacingContainer","siteMapContainer","sectionsContainer","shape","arrayOf","oneOf"],"sources":["../../../src/organism/mooc-footer/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyCoorpApp as CoorpAppLogo,\n NovaCompositionCoorpacademyCoorpLogo as CoorpLogo\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport SocialLink from '../../atom/social-link';\nimport Picture from '../../atom/picture';\nimport style from './style.css';\n\nconst socialLinksTypes = ['facebook', 'twitter', 'linkedin', 'youtube', 'instagram'];\n\nconst StoresLinks = ({\n onAppStoreButtonClick,\n appStoreButtonImageUrl,\n playStoreButtonImageUrl,\n onPlayStoreButtonClick,\n 'android-alt': androidAlt,\n 'ios-alt': iosAlt\n}) => (\n <div className={style.storeLinksContainer}>\n <Picture\n className={style.imgApple}\n src={appStoreButtonImageUrl}\n onClick={onAppStoreButtonClick}\n alt={iosAlt}\n />\n <Picture\n className={style.img}\n src={playStoreButtonImageUrl}\n onClick={onPlayStoreButtonClick}\n alt={androidAlt}\n />\n </div>\n);\n\nStoresLinks.propTypes = {\n onAppStoreButtonClick: PropTypes.func,\n appStoreButtonImageUrl: PropTypes.string,\n playStoreButtonImageUrl: PropTypes.string,\n onPlayStoreButtonClick: PropTypes.func,\n 'android-alt': PropTypes.string,\n 'ios-alt': PropTypes.string\n};\n\nfunction MoocFooter(props) {\n const {\n headSection = {},\n socialLinks = [],\n 'logo-aria-label': logoAriaLabel,\n 'social-links-aria-label': socialLinksAriaLabel,\n siteMapSections = []\n } = props;\n\n // Header section of the footer (the marketing banner)\n\n const headSectionView = !isEmpty(headSection) ? (\n <div data-name=\"headSpacingContainer\" className={style.headSpacingContainer}>\n <div data-name=\"headSection\" className={style.headSectionWrapper}>\n <div className={style.logoAndLabelWrapper}>\n <div className={style.logoWrapper}>\n <CoorpAppLogo\n className={style.coorpAppLogo}\n aria-label={headSection['logo-aria-label']}\n />\n </div>\n <div data-name=\"mobile-marketing-text\" className={style.marketingLabel}>\n {headSection.title}\n </div>\n </div>\n <div data-name=\"mobile-apps-buttons-wrapper\" className={style.mobileAppLinks}>\n <StoresLinks\n // ignored due to naming conventions in JSX rather than a linting error\n // eslint-disable-next-line react/jsx-handler-names\n onAppStoreButtonClick={headSection.onAppStoreButtonClick}\n appStoreButtonImageUrl={headSection.appStoreButtonImageUrl}\n playStoreButtonImageUrl={headSection.playStoreButtonImageUrl}\n // eslint-disable-next-line react/jsx-handler-names\n onPlayStoreButtonClick={headSection.onPlayStoreButtonClick}\n android-alt={headSection['android-alt']}\n ios-alt={headSection['ios-alt']}\n />\n </div>\n </div>\n </div>\n ) : null;\n\n // Sitemap section of the footer (contains HELP, TOOLBOX... and other pages, as well as social links)\n\n const renderPagesFromSection = pages => {\n return (\n <ul className={style.pagesList} data-name=\"pages-list\">\n {pages.map((page, pindex) => {\n const handleClick = page.onClick;\n return (\n <li key={pindex}>\n <Link\n href={page.link}\n onClick={handleClick}\n title={page.title}\n data-text={page.title}\n className={style.pageLink}\n target={page.target}\n data-name={page.title}\n >\n {page.title}\n </Link>\n </li>\n );\n })}\n </ul>\n );\n };\n\n const sections = !isEmpty(siteMapSections)\n ? siteMapSections.map((section, index) => {\n return (\n <div key={index} className={style.sectionWrapper}>\n <p className={style.sectionTitle}>{section.title}</p>\n {renderPagesFromSection(section.pages)}\n </div>\n );\n })\n : null;\n\n const socialLinksView = socialLinks.map((socialLink, index) => {\n return (\n <li className={style.socialLink} key={index}>\n <SocialLink\n type={socialLink.type}\n link={socialLink.link}\n mode=\"footer\"\n aria-label={socialLink['aria-label']}\n />\n </li>\n );\n });\n\n const socialNetworks = (\n <div data-name=\"logo-social-networks-container\" className={style.logoSocialNetworksContainer}>\n <CoorpLogo\n className={style.coorpLogo}\n data-name=\"coorp-social-networks-logo\"\n aria-label={logoAriaLabel}\n />\n <ul\n data-name=\"social-networks-wrapper\"\n className={style.socialNetworksWrapper}\n aria-label={socialLinksAriaLabel}\n >\n {socialLinksView}\n </ul>\n </div>\n );\n\n const siteMap = (\n <div data-name=\"site-map-spacing-container\" className={style.siteMapSpacingContainer}>\n <div data-name=\"site-map\" className={style.siteMapContainer}>\n <div data-name=\"sections\" className={style.sectionsContainer}>\n {sections}\n </div>\n {socialNetworks}\n </div>\n </div>\n );\n\n return (\n <footer data-name=\"mooc-footer\">\n {headSectionView}\n {siteMap}\n </footer>\n );\n}\n\nMoocFooter.propTypes = {\n headSection: PropTypes.shape({\n title: PropTypes.string,\n onAppStoreButtonClick: PropTypes.func,\n appStoreButtonImageUrl: PropTypes.string,\n playStoreButtonImageUrl: PropTypes.string,\n onPlayStoreButtonClick: PropTypes.func,\n 'logo-aria-label': PropTypes.string,\n 'android-alt': PropTypes.string,\n 'ios-alt': PropTypes.string\n }),\n siteMapSections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n pages: PropTypes.arrayOf(\n PropTypes.shape({title: PropTypes.string, link: PropTypes.string, target: PropTypes.string})\n )\n })\n ),\n socialLinks: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf(socialLinksTypes),\n link: PropTypes.string,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n ),\n 'logo-aria-label': PropTypes.string,\n 'social-links-aria-label': PropTypes.string\n};\n\nexport default MoocFooter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionCoorpacademyCoorpApp","CoorpAppLogo","NovaCompositionCoorpacademyCoorpLogo","CoorpLogo","Link","SocialLink","Picture","style","socialLinksTypes","StoresLinks","onAppStoreButtonClick","appStoreButtonImageUrl","playStoreButtonImageUrl","onPlayStoreButtonClick","androidAlt","iosAlt","storeLinksContainer","imgApple","img","propTypes","func","string","MoocFooter","props","headSection","socialLinks","logoAriaLabel","socialLinksAriaLabel","siteMapSections","headSectionView","headSpacingContainer","headSectionWrapper","logoAndLabelWrapper","logoWrapper","coorpAppLogo","marketingLabel","title","mobileAppLinks","renderPagesFromSection","pages","pagesList","map","page","pindex","handleClick","onClick","link","pageLink","target","ariaLabel","sections","section","index","sectionWrapper","sectionTitle","socialLinksView","socialLink","type","socialNetworks","logoSocialNetworksContainer","coorpLogo","socialNetworksWrapper","siteMap","siteMapSpacingContainer","siteMapContainer","sectionsContainer","shape","arrayOf","oneOf"],"sources":["../../../src/organism/mooc-footer/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyCoorpApp as CoorpAppLogo,\n NovaCompositionCoorpacademyCoorpLogo as CoorpLogo\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport SocialLink from '../../atom/social-link';\nimport Picture from '../../atom/picture';\nimport style from './style.css';\n\nconst socialLinksTypes = ['facebook', 'twitter', 'linkedin', 'youtube', 'instagram'];\n\nconst StoresLinks = ({\n onAppStoreButtonClick,\n appStoreButtonImageUrl,\n playStoreButtonImageUrl,\n onPlayStoreButtonClick,\n 'android-alt': androidAlt,\n 'ios-alt': iosAlt\n}) => (\n <div className={style.storeLinksContainer}>\n <Picture\n className={style.imgApple}\n src={appStoreButtonImageUrl}\n onClick={onAppStoreButtonClick}\n alt={iosAlt}\n />\n <Picture\n className={style.img}\n src={playStoreButtonImageUrl}\n onClick={onPlayStoreButtonClick}\n alt={androidAlt}\n />\n </div>\n);\n\nStoresLinks.propTypes = {\n onAppStoreButtonClick: PropTypes.func,\n appStoreButtonImageUrl: PropTypes.string,\n playStoreButtonImageUrl: PropTypes.string,\n onPlayStoreButtonClick: PropTypes.func,\n 'android-alt': PropTypes.string,\n 'ios-alt': PropTypes.string\n};\n\nfunction MoocFooter(props) {\n const {\n headSection = {},\n socialLinks = [],\n 'logo-aria-label': logoAriaLabel,\n 'social-links-aria-label': socialLinksAriaLabel,\n siteMapSections = []\n } = props;\n\n // Header section of the footer (the marketing banner)\n\n const headSectionView = !isEmpty(headSection) ? (\n <div data-name=\"headSpacingContainer\" className={style.headSpacingContainer}>\n <div data-name=\"headSection\" className={style.headSectionWrapper}>\n <div className={style.logoAndLabelWrapper}>\n <div className={style.logoWrapper}>\n <CoorpAppLogo\n className={style.coorpAppLogo}\n aria-label={headSection['logo-aria-label']}\n />\n </div>\n <div data-name=\"mobile-marketing-text\" className={style.marketingLabel}>\n {headSection.title}\n </div>\n </div>\n <div data-name=\"mobile-apps-buttons-wrapper\" className={style.mobileAppLinks}>\n <StoresLinks\n // ignored due to naming conventions in JSX rather than a linting error\n // eslint-disable-next-line react/jsx-handler-names\n onAppStoreButtonClick={headSection.onAppStoreButtonClick}\n appStoreButtonImageUrl={headSection.appStoreButtonImageUrl}\n playStoreButtonImageUrl={headSection.playStoreButtonImageUrl}\n // eslint-disable-next-line react/jsx-handler-names\n onPlayStoreButtonClick={headSection.onPlayStoreButtonClick}\n android-alt={headSection['android-alt']}\n ios-alt={headSection['ios-alt']}\n />\n </div>\n </div>\n </div>\n ) : null;\n\n // Sitemap section of the footer (contains HELP, TOOLBOX... and other pages, as well as social links)\n\n const renderPagesFromSection = pages => {\n return (\n <ul className={style.pagesList} data-name=\"pages-list\">\n {pages.map((page, pindex) => {\n const handleClick = page.onClick;\n return (\n <li key={pindex}>\n <Link\n href={page.link}\n onClick={handleClick}\n title={page.title}\n data-text={page.title}\n className={style.pageLink}\n target={page.target}\n aria-label={page.ariaLabel ? page.ariaLabel : page.title}\n data-name={page.title}\n >\n {page.title}\n </Link>\n </li>\n );\n })}\n </ul>\n );\n };\n\n const sections = !isEmpty(siteMapSections)\n ? siteMapSections.map((section, index) => {\n return (\n <div key={index} className={style.sectionWrapper}>\n <p className={style.sectionTitle}>{section.title}</p>\n {renderPagesFromSection(section.pages)}\n </div>\n );\n })\n : null;\n\n const socialLinksView = socialLinks.map((socialLink, index) => {\n return (\n <li className={style.socialLink} key={index}>\n <SocialLink\n type={socialLink.type}\n link={socialLink.link}\n mode=\"footer\"\n aria-label={socialLink['aria-label']}\n />\n </li>\n );\n });\n\n const socialNetworks = (\n <div data-name=\"logo-social-networks-container\" className={style.logoSocialNetworksContainer}>\n <CoorpLogo\n className={style.coorpLogo}\n data-name=\"coorp-social-networks-logo\"\n aria-label={logoAriaLabel}\n />\n <ul\n data-name=\"social-networks-wrapper\"\n className={style.socialNetworksWrapper}\n aria-label={socialLinksAriaLabel}\n >\n {socialLinksView}\n </ul>\n </div>\n );\n\n const siteMap = (\n <div data-name=\"site-map-spacing-container\" className={style.siteMapSpacingContainer}>\n <div data-name=\"site-map\" className={style.siteMapContainer}>\n <div data-name=\"sections\" className={style.sectionsContainer}>\n {sections}\n </div>\n {socialNetworks}\n </div>\n </div>\n );\n\n return (\n <footer data-name=\"mooc-footer\">\n {headSectionView}\n {siteMap}\n </footer>\n );\n}\n\nMoocFooter.propTypes = {\n headSection: PropTypes.shape({\n title: PropTypes.string,\n onAppStoreButtonClick: PropTypes.func,\n appStoreButtonImageUrl: PropTypes.string,\n playStoreButtonImageUrl: PropTypes.string,\n onPlayStoreButtonClick: PropTypes.func,\n 'logo-aria-label': PropTypes.string,\n 'android-alt': PropTypes.string,\n 'ios-alt': PropTypes.string\n }),\n siteMapSections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n pages: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n link: PropTypes.string,\n target: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n )\n })\n ),\n socialLinks: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf(socialLinksTypes),\n link: PropTypes.string,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n ),\n 'logo-aria-label': PropTypes.string,\n 'social-links-aria-label': PropTypes.string\n};\n\nexport default MoocFooter;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAwBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAmBC;IAjBC;;;;MAIC;IA6CH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IArFD,2EASC;IAGC,kBAAsB;IA2ExB,6BA0YC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAwBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAmBC;IAjBC;;;;MAIC;IA6CH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IArFD,2EASC;IAGC,kBAAsB;IA2ExB,6BAqYC;CACF"}
@@ -416,11 +416,12 @@ class MoocHeader extends React.Component {
416
416
  settingView = /*#__PURE__*/React.createElement("div", {
417
417
  "data-name": `setting-${settingName}`,
418
418
  className: style.setting,
419
- key: settingName,
420
- "aria-label": ariaLabel || title
419
+ key: settingName
421
420
  }, /*#__PURE__*/React.createElement("span", {
422
421
  className: style.label
423
- }, title), /*#__PURE__*/React.createElement(Select, selectProps));
422
+ }, title), /*#__PURE__*/React.createElement(Select, _extends({}, selectProps, {
423
+ moreAriaLabel: ariaLabel || title
424
+ })));
424
425
  break;
425
426
  }
426
427
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","logoButtonAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","itemBadge","name","itemName","activePage","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'close-settings-aria-label': closeSettingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen} = this.state;\n const {translate, skin} = this.context;\n const {'aria-label': logoAriaLabel, 'button-aria-label': logoButtonAriaLabel} = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const closeLabel = translate('Close');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n </Link>\n );\n });\n\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div className={style.currentOption} aria-haspopup=\"true\" data-name=\"item-more\">\n {moreAriaLabel}\n <ArrowDown color={mediumColor} className={style.caret} aria-label={moreAriaLabel} />\n </div>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} color={white} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} color={white} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} color={white} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n\n settingView = (\n <div\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}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link className={style.logo} data-name=\"logo\" href={logo.href}>\n <Picture src={logoUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","logoButtonAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","itemBadge","name","itemName","activePage","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'close-settings-aria-label': closeSettingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen} = this.state;\n const {translate, skin} = this.context;\n const {'aria-label': logoAriaLabel, 'button-aria-label': logoButtonAriaLabel} = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const closeLabel = translate('Close');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n </Link>\n );\n });\n\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div className={style.currentOption} aria-haspopup=\"true\" data-name=\"item-more\">\n {moreAriaLabel}\n <ArrowDown color={mediumColor} className={style.caret} aria-label={moreAriaLabel} />\n </div>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} color={white} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} color={white} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} color={white} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <span className={style.label}>{title}</span>\n <Select {...selectProps} moreAriaLabel={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <InputSwitch {...switchProps} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n color={darkColor}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div data-name=\"settings\" className={style.settingsGroup}>\n {settingsElements}\n </div>\n <div\n className={style.closeSettings}\n onClick={this.handleSettingsToggle}\n aria-label={closeSettingsAriaLabel}\n >\n {closeLabel}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div className={style.logoWrapper}>\n <div\n className={style.navMobile}\n data-name=\"nav-mobile\"\n aria-label={logoButtonAriaLabel}\n >\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n color={mediumColor}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n color={mediumColor}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link className={style.logo} data-name=\"logo\" href={logo.href}>\n <Picture src={logoUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-congrats/index.native.tsx"],"names":[],"mappings":";AAsBA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAkEjD,QAAA,MAAM,cAAc,UAAW,mBAAmB,uBA+JjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-congrats/index.native.tsx"],"names":[],"mappings":";AAsBA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAkEjD,QAAA,MAAM,cAAc,UAAW,mBAAmB,uBAsKjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -108,14 +108,14 @@ const ReviewCongrats = props => {
108
108
  }));
109
109
  const animatedRank = [fadeInRank.animatedStyle, translateRank.animatedStyle];
110
110
  const fadeInStars = useAnimateProp(_extends({}, fadeIn, {
111
- delay: 1000
111
+ delay: cardCongratsRank ? 1000 : 0
112
112
  }));
113
113
  const translateStars = useTranslateX(_extends({}, translateHorizontally, {
114
- delay: 1000
114
+ delay: cardCongratsRank ? 1000 : 0
115
115
  }));
116
116
  const showButton1 = useAnimateProp(fadeIn);
117
117
  const showButton2 = useAnimateProp(fadeIn);
118
- const congratsSequence = sequence([parallel([showCongrats, translateCongrats]), parallel([showConfettis, fadeInRank, translateRank]), parallel([fadeInStars, translateStars]), sequence([showButton1, showButton2])]);
118
+ const congratsSequence = sequence([parallel([showCongrats, translateCongrats]), parallel([showConfettis, cardCongratsRank ? sequence([parallel([fadeInRank, translateRank]), parallel([fadeInStars, translateStars])]) : parallel([fadeInStars, translateStars])]), sequence([showButton1, showButton2])]);
119
119
  useEffect(() => {
120
120
  congratsSequence.start(); // (required only once on mount)
121
121
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -132,6 +132,7 @@ const ReviewCongrats = props => {
132
132
 
133
133
  const handleContinueRevisingPress = buttonRevising?.onClick || _noop;
134
134
  const handleReviseAnotherSkillPress = buttonRevisingSkill?.onClick || _noop;
135
+ const showStarLottieAnimation = !cardCongratsRank || isRankShown;
135
136
  return /*#__PURE__*/React.createElement(Animated.View, {
136
137
  style: [styleSheet.congrats, translateCongrats.animatedStyle, showCongrats.animatedStyle],
137
138
  accessibilityLabel: ariaLabel
@@ -156,7 +157,7 @@ const ReviewCongrats = props => {
156
157
  })) : null, /*#__PURE__*/React.createElement(Animated.View, {
157
158
  style: [fadeInStars.animatedStyle, translateStars.animatedStyle]
158
159
  }, /*#__PURE__*/React.createElement(CardCongrats, {
159
- animationUri: isRankShown ? cardCongratsStar.animationLottie.animationSrc : null,
160
+ animationUri: showStarLottieAnimation ? cardCongratsStar.animationLottie.animationSrc : null,
160
161
  Icon: StarIcon,
161
162
  text: cardCongratsStar.reviewCardTitle,
162
163
  value: cardCongratsStar.reviewCardValue,
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","useEffect","useRef","useState","Animated","ScrollView","StyleSheet","Text","LottieView","NovaCompositionCoorpacademyStar","StarIcon","NovaSolidVoteRewardsRewardsBadge5","RankIcon","sequence","parallel","useAnimateProp","useTranslateY","useTranslateX","useTemplateContext","Button","BOX_STYLE","CardCongrats","createStyleSheet","theme","create","congrats","position","width","height","flexDirection","alignItems","paddingVertical","flex","buttons","paddingHorizontal","justifyContent","title","fontWeight","fontSize","lineHeight","marginVertical","color","colors","text","primary","confettis","flexGrow","pointerEvents","scrollView","scrollViewContent","fadeIn","property","fromValue","toValue","duration","translateHorizontally","ReviewCongrats","props","ariaLabel","animationLottie","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","styleSheet","setStylesheet","isCongratsTranslationDone","setCongratsTranslationDone","isRankShown","setRankShown","scrollViewRef","showCongrats","onComplete","translateCongrats","showConfettis","fadeInRank","translateRank","setTimeout","current","scrollToEnd","animatedRank","animatedStyle","fadeInStars","delay","translateStars","showButton1","showButton2","congratsSequence","start","_stylesheet","handleContinueRevisingPress","onClick","handleReviseAnotherSkillPress","animationSrc","reviewCardTitle","reviewCardValue","rankSuffix","positive","battle","label","backgroundColor","uri"],"sources":["../../../src/organism/review-congrats/index.native.tsx"],"sourcesContent":["import React, {useEffect, useRef, useState} from 'react';\nimport {Animated, ScrollView, StyleSheet, Text, TextStyle, ViewStyle} from 'react-native';\nimport LottieView from 'lottie-react-native';\nimport {noop} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaSolidVoteRewardsRewardsBadge5 as RankIcon\n} from '@coorpacademy/nova-icons';\nimport {\n sequence,\n parallel,\n useAnimateProp,\n useTranslateY,\n useTranslateX\n} from '@coorpacademy/react-native-animation';\nimport type {AnimatePropParams} from '@coorpacademy/react-native-animation/es/use-animate-prop';\n\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {BOX_STYLE} from '../../variables/shadow';\nimport CardCongrats from '../../molecule/card-congrats/index.native';\nimport {ReviewCongratsProps} from './prop-types';\n\ntype StyleSheetType = {\n buttons: ViewStyle;\n congrats: ViewStyle;\n confettis: ViewStyle;\n scrollView: ViewStyle;\n scrollViewContent: ViewStyle;\n title: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n congrats: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n flexDirection: 'column',\n alignItems: 'center',\n paddingVertical: 90,\n flex: 1\n },\n buttons: {\n width: '100%',\n paddingHorizontal: 20,\n flexDirection: 'column',\n justifyContent: 'space-between',\n flex: 1\n },\n title: {\n fontWeight: '400',\n fontSize: 32,\n lineHeight: 40,\n marginVertical: 20,\n color: theme.colors.text.primary\n },\n confettis: {\n flexGrow: 1,\n position: 'absolute',\n width: '100%',\n height: '100%',\n pointerEvents: 'box-none'\n },\n scrollView: {\n height: 300\n },\n scrollViewContent: {\n alignItems: 'center',\n paddingHorizontal: 40\n }\n });\n\nconst fadeIn: AnimatePropParams = {\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n duration: 350\n};\n\nconst translateHorizontally = {\n property: 'translateX',\n fromValue: 180,\n toValue: 0,\n duration: 800\n};\n\nconst ReviewCongrats = (props: ReviewCongratsProps) => {\n const {\n 'aria-label': ariaLabel,\n animationLottie,\n title,\n cardCongratsStar,\n cardCongratsRank,\n buttonRevising,\n buttonRevisingSkill\n } = props;\n\n const {theme} = useTemplateContext();\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const [isCongratsTranslationDone, setCongratsTranslationDone] = useState<boolean>(false);\n const [isRankShown, setRankShown] = useState<boolean>(false);\n\n const scrollViewRef = useRef<ScrollView>(null);\n\n const showCongrats = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n duration: 950,\n onComplete: () => {\n setCongratsTranslationDone(true);\n }\n });\n\n const translateCongrats = useTranslateY({\n fromValue: 100,\n toValue: 0,\n duration: 550\n });\n\n const showConfettis = useAnimateProp(fadeIn);\n const fadeInRank = useAnimateProp(fadeIn);\n const translateRank = useTranslateX({\n ...translateHorizontally,\n onComplete: () => {\n setRankShown(true);\n setTimeout(() => {\n scrollViewRef?.current?.scrollToEnd();\n }, 700);\n }\n });\n\n const animatedRank = [fadeInRank.animatedStyle, translateRank.animatedStyle];\n\n const fadeInStars = useAnimateProp({\n ...fadeIn,\n delay: 1000\n });\n\n const translateStars = useTranslateX({\n ...translateHorizontally,\n delay: 1000\n });\n\n const showButton1 = useAnimateProp(fadeIn);\n const showButton2 = useAnimateProp(fadeIn);\n\n const congratsSequence = sequence([\n parallel([showCongrats, translateCongrats]),\n parallel([showConfettis, fadeInRank, translateRank]),\n parallel([fadeInStars, translateStars]),\n sequence([showButton1, showButton2])\n ]);\n\n useEffect(() => {\n congratsSequence.start();\n // (required only once on mount)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const handleContinueRevisingPress = buttonRevising?.onClick || noop;\n const handleReviseAnotherSkillPress = buttonRevisingSkill?.onClick || noop;\n\n return (\n <Animated.View\n style={[styleSheet.congrats, translateCongrats.animatedStyle, showCongrats.animatedStyle]}\n accessibilityLabel={ariaLabel}\n >\n <Text style={styleSheet.title}>{title}</Text>\n <ScrollView\n ref={scrollViewRef}\n horizontal\n showsHorizontalScrollIndicator={false}\n style={styleSheet.scrollView}\n contentContainerStyle={styleSheet.scrollViewContent}\n >\n {cardCongratsRank ? (\n <Animated.View style={animatedRank}>\n <CardCongrats\n animationUri={cardCongratsRank.animationLottie.animationSrc}\n text={cardCongratsRank.reviewCardTitle}\n value={`${cardCongratsRank.reviewCardValue} ${cardCongratsRank.rankSuffix}`}\n Icon={RankIcon}\n iconColor={theme.colors.positive}\n textColor={theme.colors.text.primary}\n direction=\"row-reverse\"\n />\n </Animated.View>\n ) : null}\n <Animated.View style={[fadeInStars.animatedStyle, translateStars.animatedStyle]}>\n <CardCongrats\n animationUri={isRankShown ? cardCongratsStar.animationLottie.animationSrc : null}\n Icon={StarIcon}\n text={cardCongratsStar.reviewCardTitle}\n value={cardCongratsStar.reviewCardValue}\n iconColor={theme.colors.battle}\n textColor={theme.colors.battle}\n direction=\"row\"\n />\n </Animated.View>\n </ScrollView>\n\n <Animated.View style={styleSheet.buttons}>\n {buttonRevisingSkill ? (\n <Animated.View style={showButton1.animatedStyle}>\n <Button\n onPress={handleReviseAnotherSkillPress}\n accessibilityLabel={buttonRevisingSkill['aria-label']}\n submitValue={buttonRevisingSkill.label}\n style={{...BOX_STYLE, backgroundColor: '#fff'}}\n textStyle={{color: '#123'}}\n />\n </Animated.View>\n ) : null}\n {buttonRevising ? (\n <Animated.View style={showButton2.animatedStyle}>\n <Button\n onPress={handleContinueRevisingPress}\n accessibilityLabel={buttonRevising['aria-label']}\n submitValue={buttonRevising.label}\n />\n </Animated.View>\n ) : null}\n </Animated.View>\n\n {isCongratsTranslationDone ? (\n <Animated.View\n pointerEvents=\"none\"\n style={[styleSheet.confettis, showConfettis.animatedStyle]}\n >\n <LottieView source={{uri: animationLottie.animationSrc}} autoPlay loop={false} />\n </Animated.View>\n ) : null}\n </Animated.View>\n );\n};\n\nexport default ReviewCongrats;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["React","useEffect","useRef","useState","Animated","ScrollView","StyleSheet","Text","LottieView","NovaCompositionCoorpacademyStar","StarIcon","NovaSolidVoteRewardsRewardsBadge5","RankIcon","sequence","parallel","useAnimateProp","useTranslateY","useTranslateX","useTemplateContext","Button","BOX_STYLE","CardCongrats","createStyleSheet","theme","create","congrats","position","width","height","flexDirection","alignItems","paddingVertical","flex","buttons","paddingHorizontal","justifyContent","title","fontWeight","fontSize","lineHeight","marginVertical","color","colors","text","primary","confettis","flexGrow","pointerEvents","scrollView","scrollViewContent","fadeIn","property","fromValue","toValue","duration","translateHorizontally","ReviewCongrats","props","ariaLabel","animationLottie","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","styleSheet","setStylesheet","isCongratsTranslationDone","setCongratsTranslationDone","isRankShown","setRankShown","scrollViewRef","showCongrats","onComplete","translateCongrats","showConfettis","fadeInRank","translateRank","setTimeout","current","scrollToEnd","animatedRank","animatedStyle","fadeInStars","delay","translateStars","showButton1","showButton2","congratsSequence","start","_stylesheet","handleContinueRevisingPress","onClick","handleReviseAnotherSkillPress","showStarLottieAnimation","animationSrc","reviewCardTitle","reviewCardValue","rankSuffix","positive","battle","label","backgroundColor","uri"],"sources":["../../../src/organism/review-congrats/index.native.tsx"],"sourcesContent":["import React, {useEffect, useRef, useState} from 'react';\nimport {Animated, ScrollView, StyleSheet, Text, TextStyle, ViewStyle} from 'react-native';\nimport LottieView from 'lottie-react-native';\nimport {noop} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaSolidVoteRewardsRewardsBadge5 as RankIcon\n} from '@coorpacademy/nova-icons';\nimport {\n sequence,\n parallel,\n useAnimateProp,\n useTranslateY,\n useTranslateX\n} from '@coorpacademy/react-native-animation';\nimport type {AnimatePropParams} from '@coorpacademy/react-native-animation/es/use-animate-prop';\n\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {BOX_STYLE} from '../../variables/shadow';\nimport CardCongrats from '../../molecule/card-congrats/index.native';\nimport {ReviewCongratsProps} from './prop-types';\n\ntype StyleSheetType = {\n buttons: ViewStyle;\n congrats: ViewStyle;\n confettis: ViewStyle;\n scrollView: ViewStyle;\n scrollViewContent: ViewStyle;\n title: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n congrats: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n flexDirection: 'column',\n alignItems: 'center',\n paddingVertical: 90,\n flex: 1\n },\n buttons: {\n width: '100%',\n paddingHorizontal: 20,\n flexDirection: 'column',\n justifyContent: 'space-between',\n flex: 1\n },\n title: {\n fontWeight: '400',\n fontSize: 32,\n lineHeight: 40,\n marginVertical: 20,\n color: theme.colors.text.primary\n },\n confettis: {\n flexGrow: 1,\n position: 'absolute',\n width: '100%',\n height: '100%',\n pointerEvents: 'box-none'\n },\n scrollView: {\n height: 300\n },\n scrollViewContent: {\n alignItems: 'center',\n paddingHorizontal: 40\n }\n });\n\nconst fadeIn: AnimatePropParams = {\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n duration: 350\n};\n\nconst translateHorizontally = {\n property: 'translateX',\n fromValue: 180,\n toValue: 0,\n duration: 800\n};\n\nconst ReviewCongrats = (props: ReviewCongratsProps) => {\n const {\n 'aria-label': ariaLabel,\n animationLottie,\n title,\n cardCongratsStar,\n cardCongratsRank,\n buttonRevising,\n buttonRevisingSkill\n } = props;\n\n const {theme} = useTemplateContext();\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const [isCongratsTranslationDone, setCongratsTranslationDone] = useState<boolean>(false);\n const [isRankShown, setRankShown] = useState<boolean>(false);\n\n const scrollViewRef = useRef<ScrollView>(null);\n\n const showCongrats = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n duration: 950,\n onComplete: () => {\n setCongratsTranslationDone(true);\n }\n });\n\n const translateCongrats = useTranslateY({\n fromValue: 100,\n toValue: 0,\n duration: 550\n });\n\n const showConfettis = useAnimateProp(fadeIn);\n const fadeInRank = useAnimateProp(fadeIn);\n const translateRank = useTranslateX({\n ...translateHorizontally,\n onComplete: () => {\n setRankShown(true);\n setTimeout(() => {\n scrollViewRef?.current?.scrollToEnd();\n }, 700);\n }\n });\n\n const animatedRank = [fadeInRank.animatedStyle, translateRank.animatedStyle];\n\n const fadeInStars = useAnimateProp({\n ...fadeIn,\n delay: cardCongratsRank ? 1000 : 0\n });\n\n const translateStars = useTranslateX({\n ...translateHorizontally,\n delay: cardCongratsRank ? 1000 : 0\n });\n\n const showButton1 = useAnimateProp(fadeIn);\n const showButton2 = useAnimateProp(fadeIn);\n\n const congratsSequence = sequence([\n parallel([showCongrats, translateCongrats]),\n parallel([\n showConfettis,\n cardCongratsRank\n ? sequence([parallel([fadeInRank, translateRank]), parallel([fadeInStars, translateStars])])\n : parallel([fadeInStars, translateStars])\n ]),\n sequence([showButton1, showButton2])\n ]);\n\n useEffect(() => {\n congratsSequence.start();\n // (required only once on mount)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const handleContinueRevisingPress = buttonRevising?.onClick || noop;\n const handleReviseAnotherSkillPress = buttonRevisingSkill?.onClick || noop;\n const showStarLottieAnimation = !cardCongratsRank || isRankShown;\n\n return (\n <Animated.View\n style={[styleSheet.congrats, translateCongrats.animatedStyle, showCongrats.animatedStyle]}\n accessibilityLabel={ariaLabel}\n >\n <Text style={styleSheet.title}>{title}</Text>\n <ScrollView\n ref={scrollViewRef}\n horizontal\n showsHorizontalScrollIndicator={false}\n style={styleSheet.scrollView}\n contentContainerStyle={styleSheet.scrollViewContent}\n >\n {cardCongratsRank ? (\n <Animated.View style={animatedRank}>\n <CardCongrats\n animationUri={cardCongratsRank.animationLottie.animationSrc}\n text={cardCongratsRank.reviewCardTitle}\n value={`${cardCongratsRank.reviewCardValue} ${cardCongratsRank.rankSuffix}`}\n Icon={RankIcon}\n iconColor={theme.colors.positive}\n textColor={theme.colors.text.primary}\n direction=\"row-reverse\"\n />\n </Animated.View>\n ) : null}\n <Animated.View style={[fadeInStars.animatedStyle, translateStars.animatedStyle]}>\n <CardCongrats\n animationUri={\n showStarLottieAnimation ? cardCongratsStar.animationLottie.animationSrc : null\n }\n Icon={StarIcon}\n text={cardCongratsStar.reviewCardTitle}\n value={cardCongratsStar.reviewCardValue}\n iconColor={theme.colors.battle}\n textColor={theme.colors.battle}\n direction=\"row\"\n />\n </Animated.View>\n </ScrollView>\n\n <Animated.View style={styleSheet.buttons}>\n {buttonRevisingSkill ? (\n <Animated.View style={showButton1.animatedStyle}>\n <Button\n onPress={handleReviseAnotherSkillPress}\n accessibilityLabel={buttonRevisingSkill['aria-label']}\n submitValue={buttonRevisingSkill.label}\n style={{...BOX_STYLE, backgroundColor: '#fff'}}\n textStyle={{color: '#123'}}\n />\n </Animated.View>\n ) : null}\n {buttonRevising ? (\n <Animated.View style={showButton2.animatedStyle}>\n <Button\n onPress={handleContinueRevisingPress}\n accessibilityLabel={buttonRevising['aria-label']}\n submitValue={buttonRevising.label}\n />\n </Animated.View>\n ) : null}\n </Animated.View>\n\n {isCongratsTranslationDone ? (\n <Animated.View\n pointerEvents=\"none\"\n style={[styleSheet.confettis, showConfettis.animatedStyle]}\n >\n <LottieView source={{uri: animationLottie.animationSrc}} autoPlay loop={false} />\n </Animated.View>\n ) : null}\n </Animated.View>\n );\n};\n\nexport default ReviewCongrats;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAwKtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,gBA8CrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AA0KtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,gBA8CrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -27,7 +27,9 @@ const CorrectionPopin = ({
27
27
  toValue: 0,
28
28
  duration: 500,
29
29
  easing: Easing.bezier(0.34, 1.36, 0.64, 1)
30
- });
30
+ }); // the translation is required only once on mount
31
+ // eslint-disable-next-line react-hooks/exhaustive-deps
32
+
31
33
  useEffect(() => translateUp.start(), []);
32
34
  if (!showCorrectionPopin) return null;
33
35
  const klf = getOr(undefined, 'klf', correctionPopinProps);