@coorpacademy/components 10.30.10-alpha.3 → 10.30.10-alpha.3.2
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.
- package/es/behaviours/use-translate-vertically.native.d.ts +16 -0
- package/es/behaviours/use-translate-vertically.native.d.ts.map +1 -0
- package/es/behaviours/use-translate-vertically.native.js +44 -0
- package/es/behaviours/use-translate-vertically.native.js.map +1 -0
- package/es/behaviours/use-update-opacity.native.d.ts +14 -0
- package/es/behaviours/use-update-opacity.native.d.ts.map +1 -0
- package/es/behaviours/use-update-opacity.native.js +55 -0
- package/es/behaviours/use-update-opacity.native.js.map +1 -0
- package/es/molecule/card-congrats/index.native.js +2 -2
- package/es/molecule/card-congrats/index.native.js.map +1 -1
- package/es/molecule/card-congrats/types.d.ts +1 -1
- package/es/molecule/card-congrats/types.d.ts.map +1 -1
- package/es/molecule/card-congrats/types.js.map +1 -1
- package/es/molecule/review-correction-popin/index.native.d.ts.map +1 -1
- package/es/molecule/review-correction-popin/index.native.js +12 -25
- package/es/molecule/review-correction-popin/index.native.js.map +1 -1
- package/es/organism/get-the-app/index.d.ts.map +1 -1
- package/es/organism/get-the-app/index.js +10 -5
- package/es/organism/get-the-app/index.js.map +1 -1
- package/es/organism/mooc-footer/index.d.ts.map +1 -1
- package/es/organism/mooc-footer/index.js +3 -2
- package/es/organism/mooc-footer/index.js.map +1 -1
- package/es/organism/mooc-header/index.d.ts.map +1 -1
- package/es/organism/mooc-header/index.js +6 -6
- package/es/organism/mooc-header/index.js.map +1 -1
- package/es/organism/review-congrats/index.native.d.ts.map +1 -1
- package/es/organism/review-congrats/index.native.js +91 -15
- package/es/organism/review-congrats/index.native.js.map +1 -1
- package/es/organism/review-slide/index.native.d.ts.map +1 -1
- package/es/organism/review-slide/index.native.js +10 -22
- package/es/organism/review-slide/index.native.js.map +1 -1
- package/es/organism/review-stacked-slides/index.native.d.ts.map +1 -1
- package/es/organism/review-stacked-slides/index.native.js +17 -4
- package/es/organism/review-stacked-slides/index.native.js.map +1 -1
- package/lib/behaviours/use-translate-vertically.native.d.ts +16 -0
- package/lib/behaviours/use-translate-vertically.native.d.ts.map +1 -0
- package/lib/behaviours/use-translate-vertically.native.js +51 -0
- package/lib/behaviours/use-translate-vertically.native.js.map +1 -0
- package/lib/behaviours/use-update-opacity.native.d.ts +14 -0
- package/lib/behaviours/use-update-opacity.native.d.ts.map +1 -0
- package/lib/behaviours/use-update-opacity.native.js +62 -0
- package/lib/behaviours/use-update-opacity.native.js.map +1 -0
- package/lib/molecule/card-congrats/index.native.js +2 -2
- package/lib/molecule/card-congrats/index.native.js.map +1 -1
- package/lib/molecule/card-congrats/types.d.ts +1 -1
- package/lib/molecule/card-congrats/types.d.ts.map +1 -1
- package/lib/molecule/card-congrats/types.js.map +1 -1
- package/lib/molecule/review-correction-popin/index.native.d.ts.map +1 -1
- package/lib/molecule/review-correction-popin/index.native.js +12 -24
- package/lib/molecule/review-correction-popin/index.native.js.map +1 -1
- package/lib/organism/get-the-app/index.d.ts.map +1 -1
- package/lib/organism/get-the-app/index.js +11 -5
- package/lib/organism/get-the-app/index.js.map +1 -1
- package/lib/organism/mooc-footer/index.d.ts.map +1 -1
- package/lib/organism/mooc-footer/index.js +4 -2
- package/lib/organism/mooc-footer/index.js.map +1 -1
- package/lib/organism/mooc-header/index.d.ts.map +1 -1
- package/lib/organism/mooc-header/index.js +6 -6
- package/lib/organism/mooc-header/index.js.map +1 -1
- package/lib/organism/review-congrats/index.native.d.ts.map +1 -1
- package/lib/organism/review-congrats/index.native.js +91 -13
- package/lib/organism/review-congrats/index.native.js.map +1 -1
- package/lib/organism/review-slide/index.native.d.ts.map +1 -1
- package/lib/organism/review-slide/index.native.js +10 -21
- package/lib/organism/review-slide/index.native.js.map +1 -1
- package/lib/organism/review-stacked-slides/index.native.d.ts.map +1 -1
- package/lib/organism/review-stacked-slides/index.native.js +21 -3
- package/lib/organism/review-stacked-slides/index.native.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["socialLinksTypes","StoresLinks","onAppStoreButtonClick","appStoreButtonImageUrl","playStoreButtonImageUrl","onPlayStoreButtonClick","androidAlt","iosAlt","style","storeLinksContainer","imgApple","img","propTypes","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 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 <img\n className={style.imgApple}\n src={appStoreButtonImageUrl}\n onClick={onAppStoreButtonClick}\n alt={iosAlt}\n />\n <img\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['mobile-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 'mobile-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":["socialLinksTypes","StoresLinks","onAppStoreButtonClick","appStoreButtonImageUrl","playStoreButtonImageUrl","onPlayStoreButtonClick","androidAlt","iosAlt","style","storeLinksContainer","imgApple","img","propTypes","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['mobile-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 'mobile-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 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -514,17 +514,17 @@ class MoocHeader extends _react.default.Component {
|
|
|
514
514
|
onClick: this.handleOnMenuClose
|
|
515
515
|
}), /*#__PURE__*/_react.default.createElement(_link.default, {
|
|
516
516
|
"data-name": "logo-mobile",
|
|
517
|
-
href: logo.href
|
|
517
|
+
href: logo.href,
|
|
518
|
+
"aria-label": logoAriaLabel
|
|
518
519
|
}, /*#__PURE__*/_react.default.createElement(_picture.default, {
|
|
519
|
-
src: logoMobileUrl
|
|
520
|
-
alt: logoAriaLabel
|
|
520
|
+
src: logoMobileUrl
|
|
521
521
|
}))), /*#__PURE__*/_react.default.createElement(_link.default, {
|
|
522
522
|
className: _style.default.logo,
|
|
523
523
|
"data-name": "logo",
|
|
524
|
-
href: logo.href
|
|
524
|
+
href: logo.href,
|
|
525
|
+
"aria-label": logoAriaLabel
|
|
525
526
|
}, /*#__PURE__*/_react.default.createElement(_picture.default, {
|
|
526
|
-
src: logoUrl
|
|
527
|
-
alt: logoAriaLabel
|
|
527
|
+
src: logoUrl
|
|
528
528
|
}))), searchFormView, /*#__PURE__*/_react.default.createElement("div", {
|
|
529
529
|
className: isMenuOpen ? _style.default.menuWrapper : _style.default.hiddenMenuWrapper,
|
|
530
530
|
"data-name": "menu-wrapper"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["MoocHeader","React","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","style","itemBadge","name","itemName","activePage","title","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","classnames","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","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","Provider","childContextTypes","propTypes","PropTypes","shape","src","string","srcMobile","Search","func","arrayOf","oneOf","bool","number","Cta"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n 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}>\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":["MoocHeader","React","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","style","itemBadge","name","itemName","activePage","title","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","classnames","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","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","Provider","childContextTypes","propTypes","PropTypes","shape","src","string","srcMobile","Search","func","arrayOf","oneOf","bool","number","Cta"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n 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":"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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":";
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-congrats/index.native.tsx"],"names":[],"mappings":";AAyBA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAoDjD,QAAA,MAAM,cAAc,UAAW,mBAAmB,uBAiJjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -21,6 +21,10 @@ var _shadow = require("../../variables/shadow");
|
|
|
21
21
|
|
|
22
22
|
var _index2 = _interopRequireDefault(require("../../molecule/card-congrats/index.native"));
|
|
23
23
|
|
|
24
|
+
var _useTranslateVertically = _interopRequireDefault(require("../../behaviours/use-translate-vertically.native"));
|
|
25
|
+
|
|
26
|
+
var _useUpdateOpacity = _interopRequireDefault(require("../../behaviours/use-update-opacity.native"));
|
|
27
|
+
|
|
24
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
29
|
|
|
26
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -34,7 +38,6 @@ const createStyleSheet = theme => _reactNative.StyleSheet.create({
|
|
|
34
38
|
position: 'absolute',
|
|
35
39
|
width: '100%',
|
|
36
40
|
height: '100%',
|
|
37
|
-
backgroundColor: '#ededed',
|
|
38
41
|
flexDirection: 'column',
|
|
39
42
|
alignItems: 'center',
|
|
40
43
|
paddingVertical: 90,
|
|
@@ -60,6 +63,13 @@ const createStyleSheet = theme => _reactNative.StyleSheet.create({
|
|
|
60
63
|
width: '100%',
|
|
61
64
|
height: '100%',
|
|
62
65
|
pointerEvents: 'box-none'
|
|
66
|
+
},
|
|
67
|
+
scrollView: {
|
|
68
|
+
height: 300
|
|
69
|
+
},
|
|
70
|
+
scrollViewContent: {
|
|
71
|
+
alignItems: 'center',
|
|
72
|
+
paddingHorizontal: 40
|
|
63
73
|
}
|
|
64
74
|
});
|
|
65
75
|
|
|
@@ -76,12 +86,76 @@ const ReviewCongrats = props => {
|
|
|
76
86
|
const {
|
|
77
87
|
theme
|
|
78
88
|
} = (0, _templateContext.useTemplateContext)();
|
|
89
|
+
const {
|
|
90
|
+
height: windowHeight
|
|
91
|
+
} = (0, _reactNative.useWindowDimensions)();
|
|
79
92
|
const [styleSheet, setStylesheet] = (0, _react.useState)(null);
|
|
93
|
+
const [isCongratsTranslationDone, setCongratsTranslationDone] = (0, _react.useState)(false);
|
|
94
|
+
const [isRankShown, setRankShown] = (0, _react.useState)(false);
|
|
95
|
+
const {
|
|
96
|
+
translate: translateCongratsUp,
|
|
97
|
+
animatedY: animatedCongratsY
|
|
98
|
+
} = (0, _useTranslateVertically.default)({
|
|
99
|
+
fromValue: windowHeight,
|
|
100
|
+
toValue: 0,
|
|
101
|
+
delay: 750,
|
|
102
|
+
onFinished: () => {
|
|
103
|
+
setCongratsTranslationDone(true);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
const {
|
|
107
|
+
translate: translateRankUp,
|
|
108
|
+
animatedY: animatedRankY
|
|
109
|
+
} = (0, _useTranslateVertically.default)({
|
|
110
|
+
fromValue: 150,
|
|
111
|
+
duration: 750,
|
|
112
|
+
toValue: 0
|
|
113
|
+
});
|
|
114
|
+
const {
|
|
115
|
+
fadeIn: showRank,
|
|
116
|
+
animatedOpacity: animatedRankOpacity
|
|
117
|
+
} = (0, _useUpdateOpacity.default)({
|
|
118
|
+
onFadeInFinished: () => {
|
|
119
|
+
setRankShown(true);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
const scrollViewRef = (0, _react.useRef)(null);
|
|
123
|
+
const {
|
|
124
|
+
translate: translateStarsUp,
|
|
125
|
+
animatedY: animatedStarsY
|
|
126
|
+
} = (0, _useTranslateVertically.default)({
|
|
127
|
+
fromValue: 150,
|
|
128
|
+
toValue: 0,
|
|
129
|
+
duration: 750,
|
|
130
|
+
delay: 250
|
|
131
|
+
});
|
|
132
|
+
const {
|
|
133
|
+
fadeIn: showStars,
|
|
134
|
+
animatedOpacity: animatedStarsOpacity
|
|
135
|
+
} = (0, _useUpdateOpacity.default)({
|
|
136
|
+
delay: 250
|
|
137
|
+
});
|
|
80
138
|
(0, _react.useEffect)(() => {
|
|
81
139
|
const _stylesheet = createStyleSheet(theme);
|
|
82
140
|
|
|
83
141
|
setStylesheet(_stylesheet);
|
|
84
142
|
}, [theme]);
|
|
143
|
+
(0, _react.useEffect)(() => {
|
|
144
|
+
translateCongratsUp();
|
|
145
|
+
}, []);
|
|
146
|
+
(0, _react.useEffect)(() => {
|
|
147
|
+
if (isCongratsTranslationDone) {
|
|
148
|
+
showRank();
|
|
149
|
+
translateRankUp();
|
|
150
|
+
}
|
|
151
|
+
}, [isCongratsTranslationDone, showRank, translateRankUp]);
|
|
152
|
+
(0, _react.useEffect)(() => {
|
|
153
|
+
if (isRankShown) {
|
|
154
|
+
scrollViewRef?.current?.scrollToEnd();
|
|
155
|
+
translateStarsUp();
|
|
156
|
+
showStars();
|
|
157
|
+
}
|
|
158
|
+
}, [isRankShown, translateStarsUp, showStars]);
|
|
85
159
|
|
|
86
160
|
if (!styleSheet) {
|
|
87
161
|
return null;
|
|
@@ -89,18 +163,20 @@ const ReviewCongrats = props => {
|
|
|
89
163
|
|
|
90
164
|
const handleContinueRevisingPress = buttonRevising?.onClick || _noop2.default;
|
|
91
165
|
const handleReviseAnotherSkillPress = buttonRevisingSkill?.onClick || _noop2.default;
|
|
92
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
93
|
-
style: styleSheet.congrats,
|
|
166
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
167
|
+
style: [styleSheet.congrats, animatedCongratsY],
|
|
94
168
|
accessibilityLabel: ariaLabel
|
|
95
169
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
96
170
|
style: styleSheet.title
|
|
97
171
|
}, title), /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
|
|
98
|
-
|
|
172
|
+
ref: scrollViewRef,
|
|
99
173
|
horizontal: true,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}, cardCongratsRank ? /*#__PURE__*/_react.default.createElement(
|
|
174
|
+
showsHorizontalScrollIndicator: false,
|
|
175
|
+
style: styleSheet.scrollView,
|
|
176
|
+
contentContainerStyle: styleSheet.scrollViewContent
|
|
177
|
+
}, cardCongratsRank ? /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
178
|
+
style: [animatedRankOpacity, animatedRankY]
|
|
179
|
+
}, /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
104
180
|
animationUri: cardCongratsRank.animationLottie.animationSrc,
|
|
105
181
|
text: cardCongratsRank.reviewCardTitle,
|
|
106
182
|
value: `${cardCongratsRank.reviewCardValue} ${cardCongratsRank.rankSuffix}`,
|
|
@@ -108,15 +184,17 @@ const ReviewCongrats = props => {
|
|
|
108
184
|
iconColor: theme.colors.positive,
|
|
109
185
|
textColor: theme.colors.text.primary,
|
|
110
186
|
direction: "row-reverse"
|
|
111
|
-
}) : null, /*#__PURE__*/_react.default.createElement(
|
|
112
|
-
|
|
187
|
+
})) : null, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
188
|
+
style: [animatedStarsOpacity, animatedStarsY]
|
|
189
|
+
}, /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
190
|
+
animationUri: isRankShown ? cardCongratsStar.animationLottie.animationSrc : null,
|
|
113
191
|
Icon: _novaIcons.NovaCompositionCoorpacademyStar,
|
|
114
192
|
text: cardCongratsStar.reviewCardTitle,
|
|
115
193
|
value: cardCongratsStar.reviewCardValue,
|
|
116
194
|
iconColor: theme.colors.battle,
|
|
117
195
|
textColor: theme.colors.battle,
|
|
118
196
|
direction: "row"
|
|
119
|
-
})), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
197
|
+
}))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
120
198
|
style: styleSheet.buttons
|
|
121
199
|
}, buttonRevisingSkill ? /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
122
200
|
onPress: handleReviseAnotherSkillPress,
|
|
@@ -132,7 +210,7 @@ const ReviewCongrats = props => {
|
|
|
132
210
|
onPress: handleContinueRevisingPress,
|
|
133
211
|
accessibilityLabel: buttonRevising['aria-label'],
|
|
134
212
|
submitValue: buttonRevising.label
|
|
135
|
-
}) : null), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
213
|
+
}) : null), isCongratsTranslationDone ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
136
214
|
pointerEvents: "none",
|
|
137
215
|
style: styleSheet.confettis
|
|
138
216
|
}, /*#__PURE__*/_react.default.createElement(_lottieReactNative.default, {
|
|
@@ -141,7 +219,7 @@ const ReviewCongrats = props => {
|
|
|
141
219
|
},
|
|
142
220
|
autoPlay: true,
|
|
143
221
|
loop: false
|
|
144
|
-
})));
|
|
222
|
+
})) : null);
|
|
145
223
|
};
|
|
146
224
|
|
|
147
225
|
var _default = ReviewCongrats;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["createStyleSheet","theme","StyleSheet","create","congrats","position","width","height","backgroundColor","flexDirection","alignItems","paddingVertical","flex","buttons","paddingHorizontal","justifyContent","title","fontWeight","fontSize","lineHeight","marginVertical","color","colors","text","primary","confettis","flexGrow","pointerEvents","ReviewCongrats","props","ariaLabel","animationLottie","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","useTemplateContext","styleSheet","setStylesheet","useState","useEffect","_stylesheet","handleContinueRevisingPress","onClick","handleReviseAnotherSkillPress","animationSrc","reviewCardTitle","reviewCardValue","rankSuffix","RankIcon","positive","StarIcon","battle","label","BOX_STYLE","uri"],"sources":["../../../src/organism/review-congrats/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {ScrollView, StyleSheet, Text, TextStyle, View, 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';\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 title: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n congrats: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundColor: '#ededed',\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 });\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\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 <View style={styleSheet.congrats} accessibilityLabel={ariaLabel}>\n <Text style={styleSheet.title}>{title}</Text>\n <ScrollView showsHorizontalScrollIndicator={false} horizontal style={{height: 300}}>\n {cardCongratsRank ? (\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 ) : null}\n <CardCongrats\n animationUri={cardCongratsStar.animationLottie.animationSrc}\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 </ScrollView>\n\n <View style={styleSheet.buttons}>\n {buttonRevisingSkill ? (\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 ) : null}\n {buttonRevising ? (\n <Button\n onPress={handleContinueRevisingPress}\n accessibilityLabel={buttonRevising['aria-label']}\n submitValue={buttonRevising.label}\n />\n ) : null}\n </View>\n\n <View pointerEvents=\"none\" style={styleSheet.confettis}>\n <LottieView source={{uri: animationLottie.animationSrc}} autoPlay loop={false} />\n </View>\n </View>\n );\n};\n\nexport default ReviewCongrats;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["createStyleSheet","theme","StyleSheet","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","ReviewCongrats","props","ariaLabel","animationLottie","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","useTemplateContext","windowHeight","useWindowDimensions","styleSheet","setStylesheet","useState","isCongratsTranslationDone","setCongratsTranslationDone","isRankShown","setRankShown","translate","translateCongratsUp","animatedY","animatedCongratsY","useTranslateVertically","fromValue","toValue","delay","onFinished","translateRankUp","animatedRankY","duration","fadeIn","showRank","animatedOpacity","animatedRankOpacity","useUpdateOpacity","onFadeInFinished","scrollViewRef","useRef","translateStarsUp","animatedStarsY","showStars","animatedStarsOpacity","useEffect","_stylesheet","current","scrollToEnd","handleContinueRevisingPress","onClick","handleReviseAnotherSkillPress","animationSrc","reviewCardTitle","reviewCardValue","rankSuffix","RankIcon","positive","StarIcon","battle","label","BOX_STYLE","backgroundColor","uri"],"sources":["../../../src/organism/review-congrats/index.native.tsx"],"sourcesContent":["import React, {useEffect, useRef, useState} from 'react';\nimport {\n Animated,\n ScrollView,\n StyleSheet,\n Text,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} 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';\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 useTranslateVertically from '../../behaviours/use-translate-vertically.native';\nimport useUpdateOpacity from '../../behaviours/use-update-opacity.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 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 const {height: windowHeight} = useWindowDimensions();\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 {translate: translateCongratsUp, animatedY: animatedCongratsY} = useTranslateVertically({\n fromValue: windowHeight,\n toValue: 0,\n delay: 750,\n onFinished: () => {\n setCongratsTranslationDone(true);\n }\n });\n\n const {translate: translateRankUp, animatedY: animatedRankY} = useTranslateVertically({\n fromValue: 150,\n duration: 750,\n toValue: 0\n });\n\n const {fadeIn: showRank, animatedOpacity: animatedRankOpacity} = useUpdateOpacity({\n onFadeInFinished: () => {\n setRankShown(true);\n }\n });\n\n const scrollViewRef = useRef<ScrollView>(null);\n\n const {translate: translateStarsUp, animatedY: animatedStarsY} = useTranslateVertically({\n fromValue: 150,\n toValue: 0,\n duration: 750,\n delay: 250\n });\n\n const {fadeIn: showStars, animatedOpacity: animatedStarsOpacity} = useUpdateOpacity({\n delay: 250\n });\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n useEffect(() => {\n translateCongratsUp();\n }, []);\n\n useEffect(() => {\n if (isCongratsTranslationDone) {\n showRank();\n translateRankUp();\n }\n }, [isCongratsTranslationDone, showRank, translateRankUp]);\n\n useEffect(() => {\n if (isRankShown) {\n scrollViewRef?.current?.scrollToEnd();\n translateStarsUp();\n showStars();\n }\n }, [isRankShown, translateStarsUp, showStars]);\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 style={[styleSheet.congrats, animatedCongratsY]} accessibilityLabel={ariaLabel}>\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={[animatedRankOpacity, animatedRankY]}>\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={[animatedStarsOpacity, animatedStarsY]}>\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 <View style={styleSheet.buttons}>\n {buttonRevisingSkill ? (\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 ) : null}\n {buttonRevising ? (\n <Button\n onPress={handleContinueRevisingPress}\n accessibilityLabel={buttonRevising['aria-label']}\n submitValue={buttonRevising.label}\n />\n ) : null}\n </View>\n\n {isCongratsTranslationDone ? (\n <View pointerEvents=\"none\" style={styleSheet.confettis}>\n <LottieView source={{uri: animationLottie.animationSrc}} autoPlay loop={false} />\n </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":";
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AA6JtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,gBA8CrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -21,14 +21,14 @@ var _templateContext = require("../../template/app-review/template-context");
|
|
|
21
21
|
|
|
22
22
|
var _index4 = _interopRequireDefault(require("../../atom/button/index.native"));
|
|
23
23
|
|
|
24
|
+
var _useTranslateVertically = _interopRequireDefault(require("../../behaviours/use-translate-vertically.native"));
|
|
25
|
+
|
|
24
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
27
|
|
|
26
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
29
|
|
|
28
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
31
|
|
|
30
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
31
|
-
|
|
32
32
|
const styles = _reactNative.StyleSheet.create({
|
|
33
33
|
correctionPopinWrapper: {
|
|
34
34
|
position: 'absolute',
|
|
@@ -43,20 +43,12 @@ const CorrectionPopin = ({
|
|
|
43
43
|
showCorrectionPopin,
|
|
44
44
|
animateCorrectionPopin
|
|
45
45
|
}) => {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
useNativeDriver: true
|
|
53
|
-
}).start();
|
|
54
|
-
}, [translateAnim]);
|
|
55
|
-
|
|
56
|
-
if (animateCorrectionPopin) {
|
|
57
|
-
translateYAnim();
|
|
58
|
-
}
|
|
59
|
-
|
|
46
|
+
const translateUp = (0, _useTranslateVertically.default)({
|
|
47
|
+
fromValue: 1000,
|
|
48
|
+
toValue: 0,
|
|
49
|
+
duration: 800,
|
|
50
|
+
easing: _reactNative.Easing.bezier(0.37, 0, 0.63, 1)
|
|
51
|
+
});
|
|
60
52
|
if (!showCorrectionPopin) return null;
|
|
61
53
|
const klf = (0, _getOr.default)(undefined, 'klf', correctionPopinProps);
|
|
62
54
|
const information = (0, _getOr.default)({
|
|
@@ -77,12 +69,9 @@ const CorrectionPopin = ({
|
|
|
77
69
|
type: correctionPopinProps.type,
|
|
78
70
|
resultLabel: correctionPopinProps.resultLabel
|
|
79
71
|
};
|
|
72
|
+
const style = animateCorrectionPopin ? [styles.correctionPopinWrapper, translateUp.animatedY] : styles.correctionPopinWrapper;
|
|
80
73
|
return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
81
|
-
style:
|
|
82
|
-
transform: [{
|
|
83
|
-
translateY: translateAnim
|
|
84
|
-
}]
|
|
85
|
-
})
|
|
74
|
+
style: style
|
|
86
75
|
}, /*#__PURE__*/_react.default.createElement(_index3.default, _correctionPopinProps));
|
|
87
76
|
};
|
|
88
77
|
|