@coorpacademy/components 10.30.4-alpha.2 → 10.30.5-alpha.1

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 (79) hide show
  1. package/es/atom/choice/index.native.js +2 -4
  2. package/es/atom/choice/index.native.js.map +1 -1
  3. package/es/atom/html/index.native.js +1 -3
  4. package/es/atom/html/index.native.js.map +1 -1
  5. package/es/atom/review-presentation/index.native.js +56 -60
  6. package/es/atom/review-presentation/index.native.js.map +1 -1
  7. package/es/hoc/modal/select/index.native.js +3 -3
  8. package/es/hoc/modal/select/index.native.js.map +1 -1
  9. package/es/hoc/modal/select-item/index.native.js +13 -17
  10. package/es/hoc/modal/select-item/index.native.js.map +1 -1
  11. package/es/hoc/touchable/index.native.js +2 -2
  12. package/es/hoc/touchable/index.native.js.map +1 -1
  13. package/es/molecule/dashboard/cards-list/index.js +3 -7
  14. package/es/molecule/dashboard/cards-list/index.js.map +1 -1
  15. package/es/molecule/questions/free-text/index.native.js +26 -30
  16. package/es/molecule/questions/free-text/index.native.js.map +1 -1
  17. package/es/molecule/questions/mobile/slider/index.native.js +3 -5
  18. package/es/molecule/questions/mobile/slider/index.native.js.map +1 -1
  19. package/es/molecule/questions/mobile/template/index.native.js +1 -3
  20. package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
  21. package/es/organism/mooc-header/index.d.ts +2 -2
  22. package/es/organism/mooc-header/index.d.ts.map +1 -1
  23. package/es/organism/mooc-header/index.js +6 -2
  24. package/es/organism/mooc-header/index.js.map +1 -1
  25. package/es/organism/review-congrats/index.js +1 -3
  26. package/es/organism/review-congrats/index.js.map +1 -1
  27. package/es/organism/review-slide/index.d.ts.map +1 -1
  28. package/es/organism/review-slide/index.js +6 -2
  29. package/es/organism/review-slide/index.js.map +1 -1
  30. package/es/organism/review-slide/index.native.d.ts.map +1 -1
  31. package/es/organism/review-slide/index.native.js +116 -79
  32. package/es/organism/review-slide/index.native.js.map +1 -1
  33. package/es/organism/review-slide/prop-types.d.ts +11 -0
  34. package/es/organism/review-slide/prop-types.d.ts.map +1 -1
  35. package/es/organism/review-slide/prop-types.js.map +1 -1
  36. package/es/template/common/dashboard/index.d.ts +0 -1
  37. package/es/template/common/dashboard/index.d.ts.map +1 -1
  38. package/es/template/common/dashboard/index.js +3 -26
  39. package/es/template/common/dashboard/index.js.map +1 -1
  40. package/lib/atom/choice/index.native.js +2 -4
  41. package/lib/atom/choice/index.native.js.map +1 -1
  42. package/lib/atom/html/index.native.js +1 -3
  43. package/lib/atom/html/index.native.js.map +1 -1
  44. package/lib/atom/review-presentation/index.native.js +56 -60
  45. package/lib/atom/review-presentation/index.native.js.map +1 -1
  46. package/lib/hoc/modal/select/index.native.js +3 -3
  47. package/lib/hoc/modal/select/index.native.js.map +1 -1
  48. package/lib/hoc/modal/select-item/index.native.js +13 -17
  49. package/lib/hoc/modal/select-item/index.native.js.map +1 -1
  50. package/lib/hoc/touchable/index.native.js +2 -2
  51. package/lib/hoc/touchable/index.native.js.map +1 -1
  52. package/lib/molecule/dashboard/cards-list/index.js +3 -7
  53. package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
  54. package/lib/molecule/questions/free-text/index.native.js +26 -30
  55. package/lib/molecule/questions/free-text/index.native.js.map +1 -1
  56. package/lib/molecule/questions/mobile/slider/index.native.js +3 -5
  57. package/lib/molecule/questions/mobile/slider/index.native.js.map +1 -1
  58. package/lib/molecule/questions/mobile/template/index.native.js +1 -3
  59. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
  60. package/lib/organism/mooc-header/index.d.ts +2 -2
  61. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  62. package/lib/organism/mooc-header/index.js +6 -2
  63. package/lib/organism/mooc-header/index.js.map +1 -1
  64. package/lib/organism/review-congrats/index.js +1 -3
  65. package/lib/organism/review-congrats/index.js.map +1 -1
  66. package/lib/organism/review-slide/index.d.ts.map +1 -1
  67. package/lib/organism/review-slide/index.js +6 -2
  68. package/lib/organism/review-slide/index.js.map +1 -1
  69. package/lib/organism/review-slide/index.native.d.ts.map +1 -1
  70. package/lib/organism/review-slide/index.native.js +115 -78
  71. package/lib/organism/review-slide/index.native.js.map +1 -1
  72. package/lib/organism/review-slide/prop-types.d.ts +11 -0
  73. package/lib/organism/review-slide/prop-types.d.ts.map +1 -1
  74. package/lib/organism/review-slide/prop-types.js.map +1 -1
  75. package/lib/template/common/dashboard/index.d.ts +0 -1
  76. package/lib/template/common/dashboard/index.d.ts.map +1 -1
  77. package/lib/template/common/dashboard/index.js +3 -30
  78. package/lib/template/common/dashboard/index.js.map +1 -1
  79. package/package.json +2 -2
@@ -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} 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
+ {"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","e","stopPropagation","preventDefault","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(e) {\n e.stopPropagation();\n e.preventDefault();\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose(e) {\n e.stopPropagation();\n e.preventDefault();\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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"}
@@ -24,9 +24,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
24
24
  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); }
25
25
 
26
26
  const setScroll = container => () => {
27
- var _container$current;
28
-
29
- ((_container$current = container.current) == null ? void 0 : _container$current.scrollTo) && container.current.scrollTo({
27
+ container.current?.scrollTo && container.current.scrollTo({
30
28
  left: 1000,
31
29
  behavior: 'smooth'
32
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","useRef","useEffect","timer","setTimeout","clearTimeout","style","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","cardStarNoRank","buttonContainer","buttonRevise","propTypes"],"sources":["../../../src/organism/review-congrats/index.js"],"sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\nimport ButtonLink from '../../atom/button-link';\nimport MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nexport const setScroll = container => () => {\n container.current?.scrollTo &&\n container.current.scrollTo({\n left: 1000,\n behavior: 'smooth'\n });\n};\n\nconst ReviewCongrats = props => {\n const {\n 'aria-label': ariaLabel,\n 'data-name': dataName,\n animationLottie,\n title,\n cardCongratsStar,\n cardCongratsRank,\n buttonRevising,\n buttonRevisingSkill\n } = props;\n\n const container = useRef(null);\n\n useEffect(() => {\n const timer = setTimeout(setScroll(container), 2000);\n return () => timer && clearTimeout(timer);\n }, []);\n\n return (\n <div\n className={style.mainContainer}\n aria-label={ariaLabel}\n data-name={dataName}\n data-testid=\"congrats\"\n >\n <AtomLottieWrapper\n {...animationLottie}\n loop={false}\n animationControl={'play'}\n autoplay\n data-name=\"lottie-wrapper\"\n className={style.lottie}\n backupImageClassName={style.ie11Backup}\n />\n <div className={style.containerCongrats}>\n <div className={style.title}>{title}</div>\n <div ref={container} className={style.containerCards}>\n {cardCongratsRank ? (\n <>\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStar} />\n <MoleculeReviewCardCongrats\n {...cardCongratsRank}\n timerAnimation={1800}\n className={style.cardRank}\n />\n </>\n ) : (\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStarNoRank} />\n )}\n </div>\n <div className={style.buttonContainer}>\n {buttonRevising ? (\n <ButtonLink\n {...buttonRevising}\n className={style.buttonRevise}\n data-testid=\"revise-skill-link\"\n />\n ) : null}\n {buttonRevisingSkill ? (\n <ButtonLink\n {...buttonRevisingSkill}\n className={style.buttonRevise}\n data-testid=\"revise-another-skill-link\"\n />\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nReviewCongrats.propTypes = propTypes;\n\nexport default ReviewCongrats;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEO,MAAMA,SAAS,GAAGC,SAAS,IAAI,MAAM;EAAA;;EAC1C,uBAAAA,SAAS,CAACC,OAAV,wCAAmBC,QAAnB,KACEF,SAAS,CAACC,OAAV,CAAkBC,QAAlB,CAA2B;IACzBC,IAAI,EAAE,IADmB;IAEzBC,QAAQ,EAAE;EAFe,CAA3B,CADF;AAKD,CANM;;;;AAQP,MAAMC,cAAc,GAAGC,KAAK,IAAI;EAC9B,MAAM;IACJ,cAAcC,SADV;IAEJ,aAAaC,QAFT;IAGJC,eAHI;IAIJC,KAJI;IAKJC,gBALI;IAMJC,gBANI;IAOJC,cAPI;IAQJC;EARI,IASFR,KATJ;EAWA,MAAMN,SAAS,GAAG,IAAAe,aAAA,EAAO,IAAP,CAAlB;EAEA,IAAAC,gBAAA,EAAU,MAAM;IACd,MAAMC,KAAK,GAAGC,UAAU,CAACnB,SAAS,CAACC,SAAD,CAAV,EAAuB,IAAvB,CAAxB;IACA,OAAO,MAAMiB,KAAK,IAAIE,YAAY,CAACF,KAAD,CAAlC;EACD,CAHD,EAGG,EAHH;EAKA,oBACE;IACE,SAAS,EAAEG,cAAA,CAAMC,aADnB;IAEE,cAAYd,SAFd;IAGE,aAAWC,QAHb;IAIE,eAAY;EAJd,gBAME,6BAAC,sBAAD,eACMC,eADN;IAEE,IAAI,EAAE,KAFR;IAGE,gBAAgB,EAAE,MAHpB;IAIE,QAAQ,MAJV;IAKE,aAAU,gBALZ;IAME,SAAS,EAAEW,cAAA,CAAME,MANnB;IAOE,oBAAoB,EAAEF,cAAA,CAAMG;EAP9B,GANF,eAeE;IAAK,SAAS,EAAEH,cAAA,CAAMI;EAAtB,gBACE;IAAK,SAAS,EAAEJ,cAAA,CAAMV;EAAtB,GAA8BA,KAA9B,CADF,eAEE;IAAK,GAAG,EAAEV,SAAV;IAAqB,SAAS,EAAEoB,cAAA,CAAMK;EAAtC,GACGb,gBAAgB,gBACf,yEACE,6BAAC,2BAAD,eAAgCD,gBAAhC;IAAkD,SAAS,EAAES,cAAA,CAAMM;EAAnE,GADF,eAEE,6BAAC,2BAAD,eACMd,gBADN;IAEE,cAAc,EAAE,IAFlB;IAGE,SAAS,EAAEQ,cAAA,CAAMO;EAHnB,GAFF,CADe,gBAUf,6BAAC,2BAAD,eAAgChB,gBAAhC;IAAkD,SAAS,EAAES,cAAA,CAAMQ;EAAnE,GAXJ,CAFF,eAgBE;IAAK,SAAS,EAAER,cAAA,CAAMS;EAAtB,GACGhB,cAAc,gBACb,6BAAC,mBAAD,eACMA,cADN;IAEE,SAAS,EAAEO,cAAA,CAAMU,YAFnB;IAGE,eAAY;EAHd,GADa,GAMX,IAPN,EAQGhB,mBAAmB,gBAClB,6BAAC,mBAAD,eACMA,mBADN;IAEE,SAAS,EAAEM,cAAA,CAAMU,YAFnB;IAGE,eAAY;EAHd,GADkB,GAMhB,IAdN,CAhBF,CAfF,CADF;AAmDD,CAtED;;AAwEAzB,cAAc,CAAC0B,SAAf,2CAA2BA,kBAA3B;eAEe1B,c"}
1
+ {"version":3,"file":"index.js","names":["setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","useRef","useEffect","timer","setTimeout","clearTimeout","style","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","cardStarNoRank","buttonContainer","buttonRevise","propTypes"],"sources":["../../../src/organism/review-congrats/index.js"],"sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\nimport ButtonLink from '../../atom/button-link';\nimport MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nexport const setScroll = container => () => {\n container.current?.scrollTo &&\n container.current.scrollTo({\n left: 1000,\n behavior: 'smooth'\n });\n};\n\nconst ReviewCongrats = props => {\n const {\n 'aria-label': ariaLabel,\n 'data-name': dataName,\n animationLottie,\n title,\n cardCongratsStar,\n cardCongratsRank,\n buttonRevising,\n buttonRevisingSkill\n } = props;\n\n const container = useRef(null);\n\n useEffect(() => {\n const timer = setTimeout(setScroll(container), 2000);\n return () => timer && clearTimeout(timer);\n }, []);\n\n return (\n <div\n className={style.mainContainer}\n aria-label={ariaLabel}\n data-name={dataName}\n data-testid=\"congrats\"\n >\n <AtomLottieWrapper\n {...animationLottie}\n loop={false}\n animationControl={'play'}\n autoplay\n data-name=\"lottie-wrapper\"\n className={style.lottie}\n backupImageClassName={style.ie11Backup}\n />\n <div className={style.containerCongrats}>\n <div className={style.title}>{title}</div>\n <div ref={container} className={style.containerCards}>\n {cardCongratsRank ? (\n <>\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStar} />\n <MoleculeReviewCardCongrats\n {...cardCongratsRank}\n timerAnimation={1800}\n className={style.cardRank}\n />\n </>\n ) : (\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStarNoRank} />\n )}\n </div>\n <div className={style.buttonContainer}>\n {buttonRevising ? (\n <ButtonLink\n {...buttonRevising}\n className={style.buttonRevise}\n data-testid=\"revise-skill-link\"\n />\n ) : null}\n {buttonRevisingSkill ? (\n <ButtonLink\n {...buttonRevisingSkill}\n className={style.buttonRevise}\n data-testid=\"revise-another-skill-link\"\n />\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nReviewCongrats.propTypes = propTypes;\n\nexport default ReviewCongrats;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEO,MAAMA,SAAS,GAAGC,SAAS,IAAI,MAAM;EAC1CA,SAAS,CAACC,OAAV,EAAmBC,QAAnB,IACEF,SAAS,CAACC,OAAV,CAAkBC,QAAlB,CAA2B;IACzBC,IAAI,EAAE,IADmB;IAEzBC,QAAQ,EAAE;EAFe,CAA3B,CADF;AAKD,CANM;;;;AAQP,MAAMC,cAAc,GAAGC,KAAK,IAAI;EAC9B,MAAM;IACJ,cAAcC,SADV;IAEJ,aAAaC,QAFT;IAGJC,eAHI;IAIJC,KAJI;IAKJC,gBALI;IAMJC,gBANI;IAOJC,cAPI;IAQJC;EARI,IASFR,KATJ;EAWA,MAAMN,SAAS,GAAG,IAAAe,aAAA,EAAO,IAAP,CAAlB;EAEA,IAAAC,gBAAA,EAAU,MAAM;IACd,MAAMC,KAAK,GAAGC,UAAU,CAACnB,SAAS,CAACC,SAAD,CAAV,EAAuB,IAAvB,CAAxB;IACA,OAAO,MAAMiB,KAAK,IAAIE,YAAY,CAACF,KAAD,CAAlC;EACD,CAHD,EAGG,EAHH;EAKA,oBACE;IACE,SAAS,EAAEG,cAAA,CAAMC,aADnB;IAEE,cAAYd,SAFd;IAGE,aAAWC,QAHb;IAIE,eAAY;EAJd,gBAME,6BAAC,sBAAD,eACMC,eADN;IAEE,IAAI,EAAE,KAFR;IAGE,gBAAgB,EAAE,MAHpB;IAIE,QAAQ,MAJV;IAKE,aAAU,gBALZ;IAME,SAAS,EAAEW,cAAA,CAAME,MANnB;IAOE,oBAAoB,EAAEF,cAAA,CAAMG;EAP9B,GANF,eAeE;IAAK,SAAS,EAAEH,cAAA,CAAMI;EAAtB,gBACE;IAAK,SAAS,EAAEJ,cAAA,CAAMV;EAAtB,GAA8BA,KAA9B,CADF,eAEE;IAAK,GAAG,EAAEV,SAAV;IAAqB,SAAS,EAAEoB,cAAA,CAAMK;EAAtC,GACGb,gBAAgB,gBACf,yEACE,6BAAC,2BAAD,eAAgCD,gBAAhC;IAAkD,SAAS,EAAES,cAAA,CAAMM;EAAnE,GADF,eAEE,6BAAC,2BAAD,eACMd,gBADN;IAEE,cAAc,EAAE,IAFlB;IAGE,SAAS,EAAEQ,cAAA,CAAMO;EAHnB,GAFF,CADe,gBAUf,6BAAC,2BAAD,eAAgChB,gBAAhC;IAAkD,SAAS,EAAES,cAAA,CAAMQ;EAAnE,GAXJ,CAFF,eAgBE;IAAK,SAAS,EAAER,cAAA,CAAMS;EAAtB,GACGhB,cAAc,gBACb,6BAAC,mBAAD,eACMA,cADN;IAEE,SAAS,EAAEO,cAAA,CAAMU,YAFnB;IAGE,eAAY;EAHd,GADa,GAMX,IAPN,EAQGhB,mBAAmB,gBAClB,6BAAC,mBAAD,eACMA,mBADN;IAEE,SAAS,EAAEM,cAAA,CAAMU,YAFnB;IAGE,eAAY;EAHd,GADkB,GAMhB,IAdN,CAhBF,CAfF,CADF;AAmDD,CAtED;;AAwEAzB,cAAc,CAAC0B,SAAf,2CAA2BA,kBAA3B;eAEe1B,c"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.js"],"names":[],"mappings":";AA8HA,sDA8CC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.js"],"names":[],"mappings":";AAiIA,sDA8CC"}
@@ -132,8 +132,12 @@ const QuestionContainer = props => {
132
132
  }
133
133
  }), /*#__PURE__*/_react.default.createElement("div", {
134
134
  key: "help",
135
- className: _style.default.help
136
- }, (0, _get.default)('help', answerUI)), /*#__PURE__*/_react.default.createElement("div", {
135
+ className: _style.default.help // eslint-disable-next-line react/no-danger
136
+ ,
137
+ dangerouslySetInnerHTML: {
138
+ __html: (0, _get.default)('help', answerUI)
139
+ }
140
+ }), /*#__PURE__*/_react.default.createElement("div", {
137
141
  key: "answer-container",
138
142
  className: _style.default.answerContainer
139
143
  }, /*#__PURE__*/_react.default.createElement(_answer.default, _extends({}, answerUI, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","getOr","information","label","message","next","get","onClick","_correctionPopinProps","type","resultLabel","classnames","style","correctionPopinWrapper","popinAnimation","propTypes","PropTypes","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","GetSkinFromContext","useMemo","loading","loadingAriaLabel","parentContentTitle","disabledContent","loader"],"sources":["../../../src/organism/review-slide/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n data-testid=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n data-testid=\"slide-question\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div key=\"help\" className={style.help}>\n {get('help', answerUI)}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string,\n disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n disabledContent,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-testid=\"review-slide\" className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n <>\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n disableContent={disabledContent}\n key=\"question-container\"\n />\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n </>\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","getOr","information","label","message","next","get","onClick","_correctionPopinProps","type","resultLabel","classnames","style","correctionPopinWrapper","popinAnimation","propTypes","PropTypes","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","GetSkinFromContext","useMemo","loading","loadingAriaLabel","parentContentTitle","disabledContent","loader"],"sources":["../../../src/organism/review-slide/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n data-testid=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n data-testid=\"slide-question\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div\n key=\"help\"\n className={style.help}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: get('help', answerUI)}}\n />\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string,\n disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n disabledContent,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-testid=\"review-slide\" className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n <>\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n disableContent={disabledContent}\n key=\"question-container\"\n />\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n </>\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAC,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAsL1D,QAAA,MAAM,KAAK,UAAW,gBAAgB,gBAyCrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAa,gBAAgB,EAAkC,MAAM,cAAc,CAAC;AA0N3F,QAAA,MAAM,KAAK,UAAW,gBAAgB,gBA8CrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -27,6 +27,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
27
27
 
28
28
  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
29
 
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
+
30
32
  const styles = _reactNative.StyleSheet.create({
31
33
  correctionPopinWrapper: {
32
34
  position: 'absolute',
@@ -37,8 +39,25 @@ const styles = _reactNative.StyleSheet.create({
37
39
 
38
40
  const CorrectionPopin = ({
39
41
  correctionPopinProps,
40
- slideIndex
42
+ slideIndex,
43
+ showCorrectionPopin,
44
+ animateCorrectionPopin
41
45
  }) => {
46
+ const translateAnim = (0, _react.useRef)(new _reactNative.Animated.Value(1000)).current;
47
+ const translateYAnim = (0, _react.useCallback)(() => {
48
+ _reactNative.Animated.timing(translateAnim, {
49
+ toValue: 0,
50
+ duration: 800,
51
+ easing: _reactNative.Easing.bezier(0.37, 0, 0.63, 1),
52
+ useNativeDriver: true
53
+ }).start();
54
+ }, [translateAnim]);
55
+
56
+ if (animateCorrectionPopin) {
57
+ translateYAnim();
58
+ }
59
+
60
+ if (!showCorrectionPopin) return null;
42
61
  const klf = (0, _getOr.default)(undefined, 'klf', correctionPopinProps);
43
62
  const information = (0, _getOr.default)({
44
63
  label: '',
@@ -58,78 +77,96 @@ const CorrectionPopin = ({
58
77
  type: correctionPopinProps.type,
59
78
  resultLabel: correctionPopinProps.resultLabel
60
79
  };
61
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
62
- style: styles.correctionPopinWrapper
80
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
81
+ style: _extends({}, styles.correctionPopinWrapper, {
82
+ transform: [{
83
+ translateY: translateAnim
84
+ }]
85
+ })
63
86
  }, /*#__PURE__*/_react.default.createElement(_index3.default, _correctionPopinProps));
64
- }; // const ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {
65
- // const {label, onClick, disabled} = validateButton;
66
- // const validateButtonProps = {
67
- // type: 'primary',
68
- // label,
69
- // 'aria-label': label,
70
- // 'data-name': `slide-validate-button-${slideIndex}`,
71
- // onClick,
72
- // disabled,
73
- // customStyle: {
74
- // backgroundColor: primarySkinColor
75
- // }
76
- // };
77
- // return <Button title="validate todo" />;
78
- // };
79
-
80
-
81
- const createQuestionStyle = (theme, brandTheme) => {
82
- var _brandTheme$colors;
87
+ };
83
88
 
84
- return _reactNative.StyleSheet.create({
85
- questionHeading: {
86
- justifyContent: 'space-between'
87
- },
88
- questionOrigin: {
89
- fontSize: 12,
90
- lineHeight: 16,
91
- color: theme.colors.text.primary,
92
- marginBottom: theme.spacing.tiny,
93
- marginTop: theme.spacing.small,
94
- textAlign: 'center'
95
- },
96
- questionText: {
97
- fontSize: 16,
98
- lineHeight: 22,
99
- fontWeight: '700',
100
- color: theme.colors.text.primary,
101
- textAlign: 'center'
102
- },
103
- questionHelp: {
104
- fontSize: 12,
105
- lineHeight: 16,
106
- color: theme.colors.gray.medium,
107
- marginBottom: 0,
108
- marginTop: theme.spacing.small,
109
- textAlign: 'center'
110
- },
111
- choicesContainer: {
112
- flex: 1,
113
- width: '100%',
114
- justifyContent: 'center'
115
- },
116
- validateButton: {
117
- backgroundColor: (brandTheme == null ? void 0 : (_brandTheme$colors = brandTheme.colors) == null ? void 0 : _brandTheme$colors.primary) || theme.colors.text.primary,
118
- borderRadius: 7,
119
- width: '100%'
120
- },
121
- validateButtonText: {
122
- fontSize: 14,
123
- lineHeight: 20,
124
- fontWeight: '700',
125
- color: theme.colors.white,
126
- marginBottom: 16,
127
- marginTop: 16,
128
- textAlign: 'center'
129
- }
130
- });
89
+ const createValidateButtonStyle = (theme, brandTheme) => _reactNative.StyleSheet.create({
90
+ validateButton: {
91
+ backgroundColor: brandTheme?.colors?.primary || theme.colors.text.primary,
92
+ borderRadius: 7,
93
+ width: '100%'
94
+ },
95
+ validateButtonText: {
96
+ fontSize: 14,
97
+ lineHeight: 20,
98
+ fontWeight: theme.fontWeight.bold,
99
+ color: theme.colors.white,
100
+ marginBottom: theme.spacing.small,
101
+ marginTop: theme.spacing.small,
102
+ textAlign: 'center'
103
+ }
104
+ });
105
+
106
+ const ValidateButton = ({
107
+ slideIndex,
108
+ validateButton
109
+ }) => {
110
+ const {
111
+ label,
112
+ onClick,
113
+ disabled
114
+ } = validateButton;
115
+ const {
116
+ theme,
117
+ brandTheme
118
+ } = (0, _templateContext.useTemplateContext)();
119
+ const [style, setStyle] = (0, _react.useState)();
120
+ (0, _react.useEffect)(() => {
121
+ const buttonStyle = createValidateButtonStyle(theme, brandTheme);
122
+ setStyle(buttonStyle);
123
+ }, [theme, brandTheme]);
124
+ if (!style) return null;
125
+ return /*#__PURE__*/_react.default.createElement(_index4.default, {
126
+ style: style.validateButton,
127
+ onPress: onClick,
128
+ disabled: disabled,
129
+ accessibilityLabel: label,
130
+ testID: `slide-validate-button-${slideIndex}`
131
+ }, /*#__PURE__*/_react.default.createElement(_index.default, {
132
+ style: style.validateButtonText
133
+ }, label));
131
134
  };
132
135
 
136
+ const createQuestionStyle = theme => _reactNative.StyleSheet.create({
137
+ questionHeading: {
138
+ justifyContent: 'space-between'
139
+ },
140
+ questionOrigin: {
141
+ fontSize: 12,
142
+ lineHeight: 16,
143
+ color: theme.colors.text.primary,
144
+ marginBottom: theme.spacing.tiny,
145
+ marginTop: theme.spacing.small,
146
+ textAlign: 'center'
147
+ },
148
+ questionText: {
149
+ fontSize: 16,
150
+ lineHeight: 22,
151
+ fontWeight: '700',
152
+ color: theme.colors.text.primary,
153
+ textAlign: 'center'
154
+ },
155
+ questionHelp: {
156
+ fontSize: 12,
157
+ lineHeight: 16,
158
+ color: theme.colors.gray.medium,
159
+ marginBottom: 0,
160
+ marginTop: theme.spacing.small,
161
+ textAlign: 'center'
162
+ },
163
+ choicesContainer: {
164
+ flex: 1,
165
+ width: '100%',
166
+ justifyContent: 'center'
167
+ }
168
+ });
169
+
133
170
  const Question = props => {
134
171
  const {
135
172
  answerUI,
@@ -137,14 +174,13 @@ const Question = props => {
137
174
  questionOrigin
138
175
  } = props;
139
176
  const {
140
- theme,
141
- brandTheme
177
+ theme
142
178
  } = (0, _templateContext.useTemplateContext)();
143
179
  const [style, setStyle] = (0, _react.useState)();
144
180
  (0, _react.useEffect)(() => {
145
- const questionStyle = createQuestionStyle(theme, brandTheme);
181
+ const questionStyle = createQuestionStyle(theme);
146
182
  setStyle(questionStyle);
147
- }, [theme, brandTheme]);
183
+ }, [theme]);
148
184
  if (!answerUI || !questionText || !style) return null;
149
185
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
150
186
  style: style.questionHeading
@@ -156,11 +192,7 @@ const Question = props => {
156
192
  style: style.questionHelp
157
193
  }, (0, _get.default)('help', answerUI))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
158
194
  style: style.choicesContainer
159
- }, /*#__PURE__*/_react.default.createElement(_index2.default, answerUI)), /*#__PURE__*/_react.default.createElement(_index4.default, {
160
- style: style.validateButton
161
- }, /*#__PURE__*/_react.default.createElement(_index.default, {
162
- style: style.validateButtonText
163
- }, "@todo validate")));
195
+ }, /*#__PURE__*/_react.default.createElement(_index2.default, answerUI)));
164
196
  };
165
197
 
166
198
  const createSlideStyle = (num, screenWidth) => {
@@ -194,6 +226,7 @@ const Slide = props => {
194
226
  const {
195
227
  slide,
196
228
  correctionPopinProps,
229
+ validateButton,
197
230
  num,
198
231
  slideIndex = '0'
199
232
  } = props;
@@ -219,6 +252,10 @@ const Slide = props => {
219
252
  questionText: questionText,
220
253
  answerUI: answerUI,
221
254
  key: "question-container"
255
+ }), /*#__PURE__*/_react.default.createElement(ValidateButton, {
256
+ slideIndex: slideIndex,
257
+ validateButton: validateButton,
258
+ key: "validate-button"
222
259
  }), correctionPopinProps ? /*#__PURE__*/_react.default.createElement(CorrectionPopin, {
223
260
  correctionPopinProps: correctionPopinProps,
224
261
  slideIndex: slideIndex,