@coorpacademy/components 10.30.4 → 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.
- package/es/organism/mooc-header/index.d.ts +2 -2
- package/es/organism/mooc-header/index.d.ts.map +1 -1
- package/es/organism/mooc-header/index.js +6 -2
- package/es/organism/mooc-header/index.js.map +1 -1
- package/es/organism/review-slide/index.native.d.ts.map +1 -1
- package/es/organism/review-slide/index.native.js +57 -39
- package/es/organism/review-slide/index.native.js.map +1 -1
- package/es/organism/review-slide/prop-types.d.ts +5 -0
- package/es/organism/review-slide/prop-types.d.ts.map +1 -1
- package/es/organism/review-slide/prop-types.js.map +1 -1
- package/lib/organism/mooc-header/index.d.ts +2 -2
- package/lib/organism/mooc-header/index.d.ts.map +1 -1
- package/lib/organism/mooc-header/index.js +6 -2
- package/lib/organism/mooc-header/index.js.map +1 -1
- package/lib/organism/review-slide/index.native.d.ts.map +1 -1
- package/lib/organism/review-slide/index.native.js +59 -41
- package/lib/organism/review-slide/index.native.js.map +1 -1
- package/lib/organism/review-slide/prop-types.d.ts +5 -0
- package/lib/organism/review-slide/prop-types.d.ts.map +1 -1
- package/lib/organism/review-slide/prop-types.js.map +1 -1
- package/package.json +2 -2
|
@@ -144,8 +144,8 @@ declare class MoocHeader extends React.Component<any, any, any> {
|
|
|
144
144
|
handleResetSearch(): void;
|
|
145
145
|
handleOnFocus(): void;
|
|
146
146
|
handleOnBlur(): void;
|
|
147
|
-
handleOnMenuOpen(): void;
|
|
148
|
-
handleOnMenuClose(): void;
|
|
147
|
+
handleOnMenuOpen(e: any): void;
|
|
148
|
+
handleOnMenuClose(e: any): void;
|
|
149
149
|
componentDidUpdate(prevProps: any, prevState: any, prevContext: any): void;
|
|
150
150
|
menuSettings: any;
|
|
151
151
|
render(): JSX.Element | null;
|
|
@@ -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
|
|
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,+BAUC;IAED,gCAUC;IAzFD,2EASC;IAGC,kBAAsB;IA+ExB,6BAmZC;CACF"}
|
|
@@ -123,7 +123,9 @@ class MoocHeader extends React.Component {
|
|
|
123
123
|
}));
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
handleOnMenuOpen() {
|
|
126
|
+
handleOnMenuOpen(e) {
|
|
127
|
+
e.stopPropagation();
|
|
128
|
+
e.preventDefault();
|
|
127
129
|
const {
|
|
128
130
|
onMenuOpen
|
|
129
131
|
} = this.props;
|
|
@@ -137,7 +139,9 @@ class MoocHeader extends React.Component {
|
|
|
137
139
|
}));
|
|
138
140
|
}
|
|
139
141
|
|
|
140
|
-
handleOnMenuClose() {
|
|
142
|
+
handleOnMenuClose(e) {
|
|
143
|
+
e.stopPropagation();
|
|
144
|
+
e.preventDefault();
|
|
141
145
|
const {
|
|
142
146
|
onMenuClose
|
|
143
147
|
} = this.props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","translate","skin","context","logoAriaLabel","logoButtonAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","pageBadge","counter","href","itemBadge","name","itemName","activePage","title","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'close-settings-aria-label': closeSettingsAriaLabel\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen} = this.state;\n const {translate, skin} = this.context;\n const {'aria-label': logoAriaLabel, 'button-aria-label': logoButtonAriaLabel} = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreLabel = translate('More');\n const closeLabel = translate('Close');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={item.title}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={item.title}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n </Link>\n );\n });\n\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n aria-label={moreLabel}\n >\n {moreLabel}\n <ArrowDown color={mediumColor} className={style.caret} />\n </div>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} color={white} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} color={white} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} color={white} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <Select {...selectProps} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <InputSwitch {...switchProps} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n color={darkColor}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div data-name=\"settings\" className={style.settingsGroup}>\n {settingsElements}\n </div>\n <div\n className={style.closeSettings}\n onClick={this.handleSettingsToggle}\n aria-label={closeSettingsAriaLabel}\n >\n {closeLabel}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div className={style.logoWrapper}>\n <div\n className={style.navMobile}\n data-name=\"nav-mobile\"\n aria-label={logoButtonAriaLabel}\n >\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n color={mediumColor}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n color={mediumColor}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n />\n <Link data-name=\"logo-mobile\" href={logo.href} aria-label={logoAriaLabel}>\n <Picture src={logoMobileUrl} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n href={logo.href}\n aria-label={logoAriaLabel}\n >\n <Picture src={logoUrl} />\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","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","itemBadge","name","itemName","activePage","title","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen(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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAa,gBAAgB,
|
|
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"}
|
|
@@ -64,24 +64,56 @@ const CorrectionPopin = ({
|
|
|
64
64
|
}]
|
|
65
65
|
})
|
|
66
66
|
}, /*#__PURE__*/React.createElement(ReviewCorrectionPopin, _correctionPopinProps));
|
|
67
|
-
};
|
|
68
|
-
// const {label, onClick, disabled} = validateButton;
|
|
69
|
-
// const validateButtonProps = {
|
|
70
|
-
// type: 'primary',
|
|
71
|
-
// label,
|
|
72
|
-
// 'aria-label': label,
|
|
73
|
-
// 'data-name': `slide-validate-button-${slideIndex}`,
|
|
74
|
-
// onClick,
|
|
75
|
-
// disabled,
|
|
76
|
-
// customStyle: {
|
|
77
|
-
// backgroundColor: primarySkinColor
|
|
78
|
-
// }
|
|
79
|
-
// };
|
|
80
|
-
// return <Button title="validate todo" />;
|
|
81
|
-
// };
|
|
67
|
+
};
|
|
82
68
|
|
|
69
|
+
const createValidateButtonStyle = (theme, brandTheme) => StyleSheet.create({
|
|
70
|
+
validateButton: {
|
|
71
|
+
backgroundColor: brandTheme?.colors?.primary || theme.colors.text.primary,
|
|
72
|
+
borderRadius: 7,
|
|
73
|
+
width: '100%'
|
|
74
|
+
},
|
|
75
|
+
validateButtonText: {
|
|
76
|
+
fontSize: 14,
|
|
77
|
+
lineHeight: 20,
|
|
78
|
+
fontWeight: theme.fontWeight.bold,
|
|
79
|
+
color: theme.colors.white,
|
|
80
|
+
marginBottom: theme.spacing.small,
|
|
81
|
+
marginTop: theme.spacing.small,
|
|
82
|
+
textAlign: 'center'
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
const ValidateButton = ({
|
|
87
|
+
slideIndex,
|
|
88
|
+
validateButton
|
|
89
|
+
}) => {
|
|
90
|
+
const {
|
|
91
|
+
label,
|
|
92
|
+
onClick,
|
|
93
|
+
disabled
|
|
94
|
+
} = validateButton;
|
|
95
|
+
const {
|
|
96
|
+
theme,
|
|
97
|
+
brandTheme
|
|
98
|
+
} = useTemplateContext();
|
|
99
|
+
const [style, setStyle] = useState();
|
|
100
|
+
useEffect(() => {
|
|
101
|
+
const buttonStyle = createValidateButtonStyle(theme, brandTheme);
|
|
102
|
+
setStyle(buttonStyle);
|
|
103
|
+
}, [theme, brandTheme]);
|
|
104
|
+
if (!style) return null;
|
|
105
|
+
return /*#__PURE__*/React.createElement(Touchable, {
|
|
106
|
+
style: style.validateButton,
|
|
107
|
+
onPress: onClick,
|
|
108
|
+
disabled: disabled,
|
|
109
|
+
accessibilityLabel: label,
|
|
110
|
+
testID: `slide-validate-button-${slideIndex}`
|
|
111
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
112
|
+
style: style.validateButtonText
|
|
113
|
+
}, label));
|
|
114
|
+
};
|
|
83
115
|
|
|
84
|
-
const createQuestionStyle =
|
|
116
|
+
const createQuestionStyle = theme => StyleSheet.create({
|
|
85
117
|
questionHeading: {
|
|
86
118
|
justifyContent: 'space-between'
|
|
87
119
|
},
|
|
@@ -112,20 +144,6 @@ const createQuestionStyle = (theme, brandTheme) => StyleSheet.create({
|
|
|
112
144
|
flex: 1,
|
|
113
145
|
width: '100%',
|
|
114
146
|
justifyContent: 'center'
|
|
115
|
-
},
|
|
116
|
-
validateButton: {
|
|
117
|
-
backgroundColor: 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
147
|
}
|
|
130
148
|
});
|
|
131
149
|
|
|
@@ -136,14 +154,13 @@ const Question = props => {
|
|
|
136
154
|
questionOrigin
|
|
137
155
|
} = props;
|
|
138
156
|
const {
|
|
139
|
-
theme
|
|
140
|
-
brandTheme
|
|
157
|
+
theme
|
|
141
158
|
} = useTemplateContext();
|
|
142
159
|
const [style, setStyle] = useState();
|
|
143
160
|
useEffect(() => {
|
|
144
|
-
const questionStyle = createQuestionStyle(theme
|
|
161
|
+
const questionStyle = createQuestionStyle(theme);
|
|
145
162
|
setStyle(questionStyle);
|
|
146
|
-
}, [theme
|
|
163
|
+
}, [theme]);
|
|
147
164
|
if (!answerUI || !questionText || !style) return null;
|
|
148
165
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
149
166
|
style: style.questionHeading
|
|
@@ -155,11 +172,7 @@ const Question = props => {
|
|
|
155
172
|
style: style.questionHelp
|
|
156
173
|
}, get('help', answerUI))), /*#__PURE__*/React.createElement(View, {
|
|
157
174
|
style: style.choicesContainer
|
|
158
|
-
}, /*#__PURE__*/React.createElement(Answer, answerUI))
|
|
159
|
-
style: style.validateButton
|
|
160
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
161
|
-
style: style.validateButtonText
|
|
162
|
-
}, "@todo validate")));
|
|
175
|
+
}, /*#__PURE__*/React.createElement(Answer, answerUI)));
|
|
163
176
|
};
|
|
164
177
|
|
|
165
178
|
const createSlideStyle = (num, screenWidth) => {
|
|
@@ -193,6 +206,7 @@ const Slide = props => {
|
|
|
193
206
|
const {
|
|
194
207
|
slide,
|
|
195
208
|
correctionPopinProps,
|
|
209
|
+
validateButton,
|
|
196
210
|
num,
|
|
197
211
|
slideIndex = '0'
|
|
198
212
|
} = props;
|
|
@@ -218,6 +232,10 @@ const Slide = props => {
|
|
|
218
232
|
questionText: questionText,
|
|
219
233
|
answerUI: answerUI,
|
|
220
234
|
key: "question-container"
|
|
235
|
+
}), /*#__PURE__*/React.createElement(ValidateButton, {
|
|
236
|
+
slideIndex: slideIndex,
|
|
237
|
+
validateButton: validateButton,
|
|
238
|
+
key: "validate-button"
|
|
221
239
|
}), correctionPopinProps ? /*#__PURE__*/React.createElement(CorrectionPopin, {
|
|
222
240
|
correctionPopinProps: correctionPopinProps,
|
|
223
241
|
slideIndex: slideIndex,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useState","useRef","Animated","Easing","StyleSheet","useWindowDimensions","View","get","getOr","Text","Answer","ReviewCorrectionPopin","useTemplateContext","Touchable","styles","create","correctionPopinWrapper","position","bottom","width","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateAnim","Value","current","translateYAnim","timing","toValue","duration","easing","bezier","useNativeDriver","start","klf","undefined","information","label","message","next","onClick","_correctionPopinProps","type","resultLabel","transform","translateY","createQuestionStyle","theme","brandTheme","questionHeading","justifyContent","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","marginTop","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesContainer","flex","validateButton","backgroundColor","borderRadius","validateButtonText","white","Question","props","answerUI","style","setStyle","questionStyle","createSlideStyle","num","screenWidth","slideWidth","slide","left","height","alignItems","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","slideStyle","loading","parentContentTitle"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useState, useRef} from 'react';\nimport {\n Animated,\n Easing,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Brand} from '../../variables/brand.native';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateAnim = useRef(new Animated.Value(1000)).current;\n\n const translateYAnim = useCallback(() => {\n Animated.timing(translateAnim, {\n toValue: 0,\n duration: 800,\n easing: Easing.bezier(0.37, 0, 0.63, 1),\n useNativeDriver: true\n }).start();\n }, [translateAnim]);\n\n if (animateCorrectionPopin) {\n translateYAnim();\n }\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, '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 <Animated.View\n style={{\n ...styles.correctionPopinWrapper,\n transform: [\n {\n translateY: translateAnim\n }\n ]\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\n// const 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// customStyle: {\n// backgroundColor: primarySkinColor\n// }\n// };\n\n// return <Button title=\"validate todo\" />;\n// };\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOrigin: ViewStyle;\n questionText: TextStyle;\n questionHelp: ViewStyle;\n choicesContainer: ViewStyle;\n validateButton: ViewStyle;\n validateButtonText: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme, brandTheme: Brand): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesContainer: {\n flex: 1,\n width: '100%',\n justifyContent: 'center'\n },\n validateButton: {\n backgroundColor: brandTheme?.colors?.primary || theme.colors.text.primary,\n borderRadius: 7,\n width: '100%'\n },\n validateButtonText: {\n fontSize: 14,\n lineHeight: 20,\n fontWeight: '700',\n color: theme.colors.white,\n marginBottom: 16,\n marginTop: 16,\n textAlign: 'center'\n }\n });\n\ntype QuestionProps = {\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin} = props;\n const {theme, brandTheme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme, brandTheme);\n setStyle(questionStyle);\n }, [theme, brandTheme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n return (\n <>\n <View style={style.questionHeading}>\n <Text style={style.questionOrigin}>{questionOrigin}</Text>\n <Text style={style.questionText}>{questionText}</Text>\n <Text style={style.questionHelp}>{get('help', answerUI)}</Text>\n </View>\n <View style={style.choicesContainer}>\n <Answer {...answerUI} />\n </View>\n <Touchable style={style.validateButton}>\n <Text style={style.validateButtonText}>@todo validate</Text>\n </Touchable>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n};\n\nconst createSlideStyle = (num: number, screenWidth: number): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: 34 + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {slide, correctionPopinProps, num, slideIndex = '0'} = props;\n\n const {width} = useWindowDimensions();\n const slideStyle = createSlideStyle(num, width);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <View style={slideStyle.slide}>\n {loading ? (\n // <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n <Text>@todo loader {num}</Text>\n ) : (\n <>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </>\n )}\n </View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useState","useRef","Animated","Easing","StyleSheet","useWindowDimensions","View","get","getOr","Text","Answer","ReviewCorrectionPopin","useTemplateContext","Touchable","styles","create","correctionPopinWrapper","position","bottom","width","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateAnim","Value","current","translateYAnim","timing","toValue","duration","easing","bezier","useNativeDriver","start","klf","undefined","information","label","message","next","onClick","_correctionPopinProps","type","resultLabel","transform","translateY","createValidateButtonStyle","theme","brandTheme","validateButton","backgroundColor","colors","primary","text","borderRadius","validateButtonText","fontSize","lineHeight","fontWeight","bold","color","white","marginBottom","spacing","small","marginTop","textAlign","ValidateButton","disabled","style","setStyle","buttonStyle","createQuestionStyle","questionHeading","justifyContent","questionOrigin","tiny","questionText","questionHelp","gray","medium","choicesContainer","flex","Question","props","answerUI","questionStyle","createSlideStyle","num","screenWidth","slideWidth","slide","left","height","alignItems","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","slideStyle","loading","parentContentTitle"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useState, useRef} from 'react';\nimport {\n Animated,\n Easing,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Brand} from '../../variables/brand.native';\nimport {PopinProps, ReviewSlideProps, SlideProps, ValidateButtonProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateAnim = useRef(new Animated.Value(1000)).current;\n\n const translateYAnim = useCallback(() => {\n Animated.timing(translateAnim, {\n toValue: 0,\n duration: 800,\n easing: Easing.bezier(0.37, 0, 0.63, 1),\n useNativeDriver: true\n }).start();\n }, [translateAnim]);\n\n if (animateCorrectionPopin) {\n translateYAnim();\n }\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, '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 <Animated.View\n style={{\n ...styles.correctionPopinWrapper,\n transform: [\n {\n translateY: translateAnim\n }\n ]\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleValidateButtonType = {\n validateButton: ViewStyle;\n validateButtonText: ViewStyle;\n};\n\nconst createValidateButtonStyle = (theme: Theme, brandTheme: Brand): StyleValidateButtonType =>\n StyleSheet.create({\n validateButton: {\n backgroundColor: brandTheme?.colors?.primary || theme.colors.text.primary,\n borderRadius: 7,\n width: '100%'\n },\n validateButtonText: {\n fontSize: 14,\n lineHeight: 20,\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.white,\n marginBottom: theme.spacing.small,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n }\n });\n\nconst ValidateButton = ({slideIndex, validateButton}: ValidateButtonProps) => {\n const {label, onClick, disabled} = validateButton;\n const {theme, brandTheme} = useTemplateContext();\n const [style, setStyle] = useState<StyleValidateButtonType>();\n\n useEffect(() => {\n const buttonStyle = createValidateButtonStyle(theme, brandTheme);\n setStyle(buttonStyle);\n }, [theme, brandTheme]);\n\n if (!style) return null;\n\n return (\n <Touchable\n style={style.validateButton}\n onPress={onClick}\n disabled={disabled}\n accessibilityLabel={label}\n testID={`slide-validate-button-${slideIndex}`}\n >\n <Text style={style.validateButtonText}>{label}</Text>\n </Touchable>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOrigin: ViewStyle;\n questionText: TextStyle;\n questionHelp: ViewStyle;\n choicesContainer: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesContainer: {\n flex: 1,\n width: '100%',\n justifyContent: 'center'\n }\n });\n\ntype QuestionProps = {\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin} = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n return (\n <>\n <View style={style.questionHeading}>\n <Text style={style.questionOrigin}>{questionOrigin}</Text>\n <Text style={style.questionText}>{questionText}</Text>\n <Text style={style.questionHelp}>{get('help', answerUI)}</Text>\n </View>\n <View style={style.choicesContainer}>\n <Answer {...answerUI} />\n </View>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n};\n\nconst createSlideStyle = (num: number, screenWidth: number): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: 34 + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n\n const {width} = useWindowDimensions();\n const slideStyle = createSlideStyle(num, width);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <View style={slideStyle.slide}>\n {loading ? (\n // <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n <Text>@todo loader {num}</Text>\n ) : (\n <>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n key=\"validate-button\"\n />\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </>\n )}\n </View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
|
|
@@ -182,6 +182,11 @@ export declare type PopinProps = {
|
|
|
182
182
|
showCorrectionPopin?: boolean;
|
|
183
183
|
animateCorrectionPopin?: boolean;
|
|
184
184
|
};
|
|
185
|
+
export declare type ValidateButtonProps = {
|
|
186
|
+
slideIndex: string;
|
|
187
|
+
validateButton: ReviewSlideProps['validateButton'];
|
|
188
|
+
primarySkinColor?: string;
|
|
189
|
+
};
|
|
185
190
|
export declare type SlideProps = {
|
|
186
191
|
position: number;
|
|
187
192
|
loading: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/prop-types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAuC,EACrC,0BAA0B,EAC3B,MAAM,mDAAmD,CAAC;AAC3D,OAAwB,EAAC,WAAW,EAAC,MAAM,kCAAkC,CAAC;AAE9E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAY1B,CAAC;AAEH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,UAAU,GAAG;IACvB,oBAAoB,EAAE,0BAA0B,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC;IAClB,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/prop-types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAuC,EACrC,0BAA0B,EAC3B,MAAM,mDAAmD,CAAC;AAC3D,OAAwB,EAAC,WAAW,EAAC,MAAM,kCAAkC,CAAC;AAE9E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAY1B,CAAC;AAEH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,UAAU,GAAG;IACvB,oBAAoB,EAAE,0BAA0B,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC;IAClB,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prop-types.js","names":["PropTypes","ReviewCorrectionPopinPropTypes","AnswerPropTypes","SlidePropsTypes","shape","position","number","loading","bool","loadingAriaLabel","string","animationType","isCorrect","animateCorrectionPopin","showCorrectionPopin","disableContent","parentContentTitle","questionText","answerUI","propTypes","slideIndex","slide","validateButton","label","isRequired","onClick","func","disabled","correctionPopinProps","klf","information","next","resultLabel","type"],"sources":["../../../src/organism/review-slide/prop-types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewCorrectionPopinPropTypes, {\n ReviewCorrectionPopinProps\n} from '../../molecule/review-correction-popin/prop-types';\nimport AnswerPropTypes, {AnswerProps} from '../../molecule/answer/prop-types';\n\nexport const SlidePropsTypes = PropTypes.shape({\n position: PropTypes.number,\n loading: PropTypes.bool,\n loadingAriaLabel: PropTypes.string,\n animationType: PropTypes.string, // 'unstack' | 'restack'\n isCorrect: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n showCorrectionPopin: PropTypes.bool,\n disableContent: PropTypes.bool,\n parentContentTitle: PropTypes.string,\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(AnswerPropTypes)\n});\n\nconst propTypes = {\n slideIndex: PropTypes.string,\n slide: SlidePropsTypes,\n validateButton: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n disabled: PropTypes.bool\n }),\n correctionPopinProps: PropTypes.shape({\n klf: ReviewCorrectionPopinPropTypes.klf,\n information: ReviewCorrectionPopinPropTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string // Pourquoi le onClick du next n'est pas ici !\n // updateSlidesOnNext: PropTypes.func.isRequired ???\n }),\n resultLabel: ReviewCorrectionPopinPropTypes.resultLabel,\n type: ReviewCorrectionPopinPropTypes.type\n })\n};\n\nexport default propTypes;\n\nexport type PopinProps = {\n correctionPopinProps: ReviewCorrectionPopinProps;\n slideIndex: string;\n showCorrectionPopin?: boolean;\n animateCorrectionPopin?: boolean;\n};\n\nexport type SlideProps = {\n position: number;\n loading: boolean;\n loadingAriaLabel?: string;\n animationType?: 'unstack' | 'restack';\n isCorrect?: boolean;\n animateCorrectionPopin?: boolean;\n showCorrectionPopin?: boolean;\n parentContentTitle?: string;\n questionText?: string;\n answerUI?: AnswerProps;\n};\n\nexport type ReviewSlideProps = {\n slideIndex: string;\n num: number;\n slide: SlideProps;\n correctionPopinProps?: ReviewCorrectionPopinProps;\n validateButton: {\n label: string;\n onClick: () => void;\n disabled: boolean;\n };\n};\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,8BAAP,MAEO,mDAFP;AAGA,OAAOC,eAAP,MAA2C,kCAA3C;AAEA,OAAO,MAAMC,eAAe,GAAGH,SAAS,CAACI,KAAV,CAAgB;EAC7CC,QAAQ,EAAEL,SAAS,CAACM,MADyB;EAE7CC,OAAO,EAAEP,SAAS,CAACQ,IAF0B;EAG7CC,gBAAgB,EAAET,SAAS,CAACU,MAHiB;EAI7CC,aAAa,EAAEX,SAAS,CAACU,MAJoB;EAIZ;EACjCE,SAAS,EAAEZ,SAAS,CAACQ,IALwB;EAM7CK,sBAAsB,EAAEb,SAAS,CAACQ,IANW;EAO7CM,mBAAmB,EAAEd,SAAS,CAACQ,IAPc;EAQ7CO,cAAc,EAAEf,SAAS,CAACQ,IARmB;EAS7CQ,kBAAkB,EAAEhB,SAAS,CAACU,MATe;EAU7CO,YAAY,EAAEjB,SAAS,CAACU,MAVqB;EAW7CQ,QAAQ,EAAElB,SAAS,CAACI,KAAV,CAAgBF,eAAhB;AAXmC,CAAhB,CAAxB;AAcP,MAAMiB,SAAS,GAAG;EAChBC,UAAU,EAAEpB,SAAS,CAACU,MADN;EAEhBW,KAAK,EAAElB,eAFS;EAGhBmB,cAAc,EAAEtB,SAAS,CAACI,KAAV,CAAgB;IAC9BmB,KAAK,EAAEvB,SAAS,CAACU,MAAV,CAAiBc,UADM;IAE9BC,OAAO,EAAEzB,SAAS,CAAC0B,IAAV,CAAeF,UAFM;IAG9BG,QAAQ,EAAE3B,SAAS,CAACQ;EAHU,CAAhB,CAHA;EAQhBoB,oBAAoB,EAAE5B,SAAS,CAACI,KAAV,CAAgB;IACpCyB,GAAG,EAAE5B,8BAA8B,CAAC4B,GADA;IAEpCC,WAAW,EAAE7B,8BAA8B,CAAC6B,WAFR;IAGpCC,IAAI,EAAE/B,SAAS,CAACI,KAAV,CAAgB;MACpBmB,KAAK,EAAEvB,SAAS,CAACU,MADG;MAEpB,cAAcV,SAAS,CAACU,MAFJ,CAEW;MAC/B;;IAHoB,CAAhB,CAH8B;IAQpCsB,WAAW,EAAE/B,8BAA8B,CAAC+B,WARR;IASpCC,IAAI,EAAEhC,8BAA8B,CAACgC;EATD,CAAhB;AARN,CAAlB;AAqBA,eAAed,SAAf"}
|
|
1
|
+
{"version":3,"file":"prop-types.js","names":["PropTypes","ReviewCorrectionPopinPropTypes","AnswerPropTypes","SlidePropsTypes","shape","position","number","loading","bool","loadingAriaLabel","string","animationType","isCorrect","animateCorrectionPopin","showCorrectionPopin","disableContent","parentContentTitle","questionText","answerUI","propTypes","slideIndex","slide","validateButton","label","isRequired","onClick","func","disabled","correctionPopinProps","klf","information","next","resultLabel","type"],"sources":["../../../src/organism/review-slide/prop-types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewCorrectionPopinPropTypes, {\n ReviewCorrectionPopinProps\n} from '../../molecule/review-correction-popin/prop-types';\nimport AnswerPropTypes, {AnswerProps} from '../../molecule/answer/prop-types';\n\nexport const SlidePropsTypes = PropTypes.shape({\n position: PropTypes.number,\n loading: PropTypes.bool,\n loadingAriaLabel: PropTypes.string,\n animationType: PropTypes.string, // 'unstack' | 'restack'\n isCorrect: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n showCorrectionPopin: PropTypes.bool,\n disableContent: PropTypes.bool,\n parentContentTitle: PropTypes.string,\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(AnswerPropTypes)\n});\n\nconst propTypes = {\n slideIndex: PropTypes.string,\n slide: SlidePropsTypes,\n validateButton: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n disabled: PropTypes.bool\n }),\n correctionPopinProps: PropTypes.shape({\n klf: ReviewCorrectionPopinPropTypes.klf,\n information: ReviewCorrectionPopinPropTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string // Pourquoi le onClick du next n'est pas ici !\n // updateSlidesOnNext: PropTypes.func.isRequired ???\n }),\n resultLabel: ReviewCorrectionPopinPropTypes.resultLabel,\n type: ReviewCorrectionPopinPropTypes.type\n })\n};\n\nexport default propTypes;\n\nexport type PopinProps = {\n correctionPopinProps: ReviewCorrectionPopinProps;\n slideIndex: string;\n showCorrectionPopin?: boolean;\n animateCorrectionPopin?: boolean;\n};\n\nexport type ValidateButtonProps = {\n slideIndex: string;\n validateButton: ReviewSlideProps['validateButton'];\n primarySkinColor?: string;\n};\n\nexport type SlideProps = {\n position: number;\n loading: boolean;\n loadingAriaLabel?: string;\n animationType?: 'unstack' | 'restack';\n isCorrect?: boolean;\n animateCorrectionPopin?: boolean;\n showCorrectionPopin?: boolean;\n parentContentTitle?: string;\n questionText?: string;\n answerUI?: AnswerProps;\n};\n\nexport type ReviewSlideProps = {\n slideIndex: string;\n num: number;\n slide: SlideProps;\n correctionPopinProps?: ReviewCorrectionPopinProps;\n validateButton: {\n label: string;\n onClick: () => void;\n disabled: boolean;\n };\n};\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,8BAAP,MAEO,mDAFP;AAGA,OAAOC,eAAP,MAA2C,kCAA3C;AAEA,OAAO,MAAMC,eAAe,GAAGH,SAAS,CAACI,KAAV,CAAgB;EAC7CC,QAAQ,EAAEL,SAAS,CAACM,MADyB;EAE7CC,OAAO,EAAEP,SAAS,CAACQ,IAF0B;EAG7CC,gBAAgB,EAAET,SAAS,CAACU,MAHiB;EAI7CC,aAAa,EAAEX,SAAS,CAACU,MAJoB;EAIZ;EACjCE,SAAS,EAAEZ,SAAS,CAACQ,IALwB;EAM7CK,sBAAsB,EAAEb,SAAS,CAACQ,IANW;EAO7CM,mBAAmB,EAAEd,SAAS,CAACQ,IAPc;EAQ7CO,cAAc,EAAEf,SAAS,CAACQ,IARmB;EAS7CQ,kBAAkB,EAAEhB,SAAS,CAACU,MATe;EAU7CO,YAAY,EAAEjB,SAAS,CAACU,MAVqB;EAW7CQ,QAAQ,EAAElB,SAAS,CAACI,KAAV,CAAgBF,eAAhB;AAXmC,CAAhB,CAAxB;AAcP,MAAMiB,SAAS,GAAG;EAChBC,UAAU,EAAEpB,SAAS,CAACU,MADN;EAEhBW,KAAK,EAAElB,eAFS;EAGhBmB,cAAc,EAAEtB,SAAS,CAACI,KAAV,CAAgB;IAC9BmB,KAAK,EAAEvB,SAAS,CAACU,MAAV,CAAiBc,UADM;IAE9BC,OAAO,EAAEzB,SAAS,CAAC0B,IAAV,CAAeF,UAFM;IAG9BG,QAAQ,EAAE3B,SAAS,CAACQ;EAHU,CAAhB,CAHA;EAQhBoB,oBAAoB,EAAE5B,SAAS,CAACI,KAAV,CAAgB;IACpCyB,GAAG,EAAE5B,8BAA8B,CAAC4B,GADA;IAEpCC,WAAW,EAAE7B,8BAA8B,CAAC6B,WAFR;IAGpCC,IAAI,EAAE/B,SAAS,CAACI,KAAV,CAAgB;MACpBmB,KAAK,EAAEvB,SAAS,CAACU,MADG;MAEpB,cAAcV,SAAS,CAACU,MAFJ,CAEW;MAC/B;;IAHoB,CAAhB,CAH8B;IAQpCsB,WAAW,EAAE/B,8BAA8B,CAAC+B,WARR;IASpCC,IAAI,EAAEhC,8BAA8B,CAACgC;EATD,CAAhB;AARN,CAAlB;AAqBA,eAAed,SAAf"}
|
|
@@ -144,8 +144,8 @@ declare class MoocHeader extends React.Component<any, any, any> {
|
|
|
144
144
|
handleResetSearch(): void;
|
|
145
145
|
handleOnFocus(): void;
|
|
146
146
|
handleOnBlur(): void;
|
|
147
|
-
handleOnMenuOpen(): void;
|
|
148
|
-
handleOnMenuClose(): void;
|
|
147
|
+
handleOnMenuOpen(e: any): void;
|
|
148
|
+
handleOnMenuClose(e: any): void;
|
|
149
149
|
componentDidUpdate(prevProps: any, prevState: any, prevContext: any): void;
|
|
150
150
|
menuSettings: any;
|
|
151
151
|
render(): JSX.Element | null;
|
|
@@ -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
|
|
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,+BAUC;IAED,gCAUC;IAzFD,2EASC;IAGC,kBAAsB;IA+ExB,6BAmZC;CACF"}
|
|
@@ -144,7 +144,9 @@ class MoocHeader extends _react.default.Component {
|
|
|
144
144
|
}));
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
handleOnMenuOpen() {
|
|
147
|
+
handleOnMenuOpen(e) {
|
|
148
|
+
e.stopPropagation();
|
|
149
|
+
e.preventDefault();
|
|
148
150
|
const {
|
|
149
151
|
onMenuOpen
|
|
150
152
|
} = this.props;
|
|
@@ -158,7 +160,9 @@ class MoocHeader extends _react.default.Component {
|
|
|
158
160
|
}));
|
|
159
161
|
}
|
|
160
162
|
|
|
161
|
-
handleOnMenuClose() {
|
|
163
|
+
handleOnMenuClose(e) {
|
|
164
|
+
e.stopPropagation();
|
|
165
|
+
e.preventDefault();
|
|
162
166
|
const {
|
|
163
167
|
onMenuClose
|
|
164
168
|
} = this.props;
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAa,gBAAgB,
|
|
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"}
|
|
@@ -84,24 +84,56 @@ const CorrectionPopin = ({
|
|
|
84
84
|
}]
|
|
85
85
|
})
|
|
86
86
|
}, /*#__PURE__*/_react.default.createElement(_index3.default, _correctionPopinProps));
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
87
|
+
};
|
|
88
|
+
|
|
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));
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
const createQuestionStyle = theme => _reactNative.StyleSheet.create({
|
|
105
137
|
questionHeading: {
|
|
106
138
|
justifyContent: 'space-between'
|
|
107
139
|
},
|
|
@@ -132,20 +164,6 @@ const createQuestionStyle = (theme, brandTheme) => _reactNative.StyleSheet.creat
|
|
|
132
164
|
flex: 1,
|
|
133
165
|
width: '100%',
|
|
134
166
|
justifyContent: 'center'
|
|
135
|
-
},
|
|
136
|
-
validateButton: {
|
|
137
|
-
backgroundColor: brandTheme?.colors?.primary || theme.colors.text.primary,
|
|
138
|
-
borderRadius: 7,
|
|
139
|
-
width: '100%'
|
|
140
|
-
},
|
|
141
|
-
validateButtonText: {
|
|
142
|
-
fontSize: 14,
|
|
143
|
-
lineHeight: 20,
|
|
144
|
-
fontWeight: '700',
|
|
145
|
-
color: theme.colors.white,
|
|
146
|
-
marginBottom: 16,
|
|
147
|
-
marginTop: 16,
|
|
148
|
-
textAlign: 'center'
|
|
149
167
|
}
|
|
150
168
|
});
|
|
151
169
|
|
|
@@ -156,14 +174,13 @@ const Question = props => {
|
|
|
156
174
|
questionOrigin
|
|
157
175
|
} = props;
|
|
158
176
|
const {
|
|
159
|
-
theme
|
|
160
|
-
brandTheme
|
|
177
|
+
theme
|
|
161
178
|
} = (0, _templateContext.useTemplateContext)();
|
|
162
179
|
const [style, setStyle] = (0, _react.useState)();
|
|
163
180
|
(0, _react.useEffect)(() => {
|
|
164
|
-
const questionStyle = createQuestionStyle(theme
|
|
181
|
+
const questionStyle = createQuestionStyle(theme);
|
|
165
182
|
setStyle(questionStyle);
|
|
166
|
-
}, [theme
|
|
183
|
+
}, [theme]);
|
|
167
184
|
if (!answerUI || !questionText || !style) return null;
|
|
168
185
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
169
186
|
style: style.questionHeading
|
|
@@ -175,11 +192,7 @@ const Question = props => {
|
|
|
175
192
|
style: style.questionHelp
|
|
176
193
|
}, (0, _get.default)('help', answerUI))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
177
194
|
style: style.choicesContainer
|
|
178
|
-
}, /*#__PURE__*/_react.default.createElement(_index2.default, answerUI))
|
|
179
|
-
style: style.validateButton
|
|
180
|
-
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
181
|
-
style: style.validateButtonText
|
|
182
|
-
}, "@todo validate")));
|
|
195
|
+
}, /*#__PURE__*/_react.default.createElement(_index2.default, answerUI)));
|
|
183
196
|
};
|
|
184
197
|
|
|
185
198
|
const createSlideStyle = (num, screenWidth) => {
|
|
@@ -213,6 +226,7 @@ const Slide = props => {
|
|
|
213
226
|
const {
|
|
214
227
|
slide,
|
|
215
228
|
correctionPopinProps,
|
|
229
|
+
validateButton,
|
|
216
230
|
num,
|
|
217
231
|
slideIndex = '0'
|
|
218
232
|
} = props;
|
|
@@ -238,6 +252,10 @@ const Slide = props => {
|
|
|
238
252
|
questionText: questionText,
|
|
239
253
|
answerUI: answerUI,
|
|
240
254
|
key: "question-container"
|
|
255
|
+
}), /*#__PURE__*/_react.default.createElement(ValidateButton, {
|
|
256
|
+
slideIndex: slideIndex,
|
|
257
|
+
validateButton: validateButton,
|
|
258
|
+
key: "validate-button"
|
|
241
259
|
}), correctionPopinProps ? /*#__PURE__*/_react.default.createElement(CorrectionPopin, {
|
|
242
260
|
correctionPopinProps: correctionPopinProps,
|
|
243
261
|
slideIndex: slideIndex,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["styles","StyleSheet","create","correctionPopinWrapper","position","bottom","width","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateAnim","useRef","Animated","Value","current","translateYAnim","useCallback","timing","toValue","duration","easing","Easing","bezier","useNativeDriver","start","klf","getOr","undefined","information","label","message","next","get","onClick","_correctionPopinProps","type","resultLabel","transform","translateY","createQuestionStyle","theme","brandTheme","questionHeading","justifyContent","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","marginTop","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesContainer","flex","validateButton","backgroundColor","borderRadius","validateButtonText","white","Question","props","answerUI","useTemplateContext","style","setStyle","useState","useEffect","questionStyle","createSlideStyle","num","screenWidth","slideWidth","slide","left","height","alignItems","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","useWindowDimensions","slideStyle","loading","parentContentTitle"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useState, useRef} from 'react';\nimport {\n Animated,\n Easing,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Brand} from '../../variables/brand.native';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateAnim = useRef(new Animated.Value(1000)).current;\n\n const translateYAnim = useCallback(() => {\n Animated.timing(translateAnim, {\n toValue: 0,\n duration: 800,\n easing: Easing.bezier(0.37, 0, 0.63, 1),\n useNativeDriver: true\n }).start();\n }, [translateAnim]);\n\n if (animateCorrectionPopin) {\n translateYAnim();\n }\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, '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 <Animated.View\n style={{\n ...styles.correctionPopinWrapper,\n transform: [\n {\n translateY: translateAnim\n }\n ]\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\n// const 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// customStyle: {\n// backgroundColor: primarySkinColor\n// }\n// };\n\n// return <Button title=\"validate todo\" />;\n// };\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOrigin: ViewStyle;\n questionText: TextStyle;\n questionHelp: ViewStyle;\n choicesContainer: ViewStyle;\n validateButton: ViewStyle;\n validateButtonText: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme, brandTheme: Brand): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesContainer: {\n flex: 1,\n width: '100%',\n justifyContent: 'center'\n },\n validateButton: {\n backgroundColor: brandTheme?.colors?.primary || theme.colors.text.primary,\n borderRadius: 7,\n width: '100%'\n },\n validateButtonText: {\n fontSize: 14,\n lineHeight: 20,\n fontWeight: '700',\n color: theme.colors.white,\n marginBottom: 16,\n marginTop: 16,\n textAlign: 'center'\n }\n });\n\ntype QuestionProps = {\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin} = props;\n const {theme, brandTheme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme, brandTheme);\n setStyle(questionStyle);\n }, [theme, brandTheme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n return (\n <>\n <View style={style.questionHeading}>\n <Text style={style.questionOrigin}>{questionOrigin}</Text>\n <Text style={style.questionText}>{questionText}</Text>\n <Text style={style.questionHelp}>{get('help', answerUI)}</Text>\n </View>\n <View style={style.choicesContainer}>\n <Answer {...answerUI} />\n </View>\n <Touchable style={style.validateButton}>\n <Text style={style.validateButtonText}>@todo validate</Text>\n </Touchable>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n};\n\nconst createSlideStyle = (num: number, screenWidth: number): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: 34 + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {slide, correctionPopinProps, num, slideIndex = '0'} = props;\n\n const {width} = useWindowDimensions();\n const slideStyle = createSlideStyle(num, width);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <View style={slideStyle.slide}>\n {loading ? (\n // <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n <Text>@todo loader {num}</Text>\n ) : (\n <>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </>\n )}\n </View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["styles","StyleSheet","create","correctionPopinWrapper","position","bottom","width","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateAnim","useRef","Animated","Value","current","translateYAnim","useCallback","timing","toValue","duration","easing","Easing","bezier","useNativeDriver","start","klf","getOr","undefined","information","label","message","next","get","onClick","_correctionPopinProps","type","resultLabel","transform","translateY","createValidateButtonStyle","theme","brandTheme","validateButton","backgroundColor","colors","primary","text","borderRadius","validateButtonText","fontSize","lineHeight","fontWeight","bold","color","white","marginBottom","spacing","small","marginTop","textAlign","ValidateButton","disabled","useTemplateContext","style","setStyle","useState","useEffect","buttonStyle","createQuestionStyle","questionHeading","justifyContent","questionOrigin","tiny","questionText","questionHelp","gray","medium","choicesContainer","flex","Question","props","answerUI","questionStyle","createSlideStyle","num","screenWidth","slideWidth","slide","left","height","alignItems","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","useWindowDimensions","slideStyle","loading","parentContentTitle"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useState, useRef} from 'react';\nimport {\n Animated,\n Easing,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Brand} from '../../variables/brand.native';\nimport {PopinProps, ReviewSlideProps, SlideProps, ValidateButtonProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateAnim = useRef(new Animated.Value(1000)).current;\n\n const translateYAnim = useCallback(() => {\n Animated.timing(translateAnim, {\n toValue: 0,\n duration: 800,\n easing: Easing.bezier(0.37, 0, 0.63, 1),\n useNativeDriver: true\n }).start();\n }, [translateAnim]);\n\n if (animateCorrectionPopin) {\n translateYAnim();\n }\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, '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 <Animated.View\n style={{\n ...styles.correctionPopinWrapper,\n transform: [\n {\n translateY: translateAnim\n }\n ]\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleValidateButtonType = {\n validateButton: ViewStyle;\n validateButtonText: ViewStyle;\n};\n\nconst createValidateButtonStyle = (theme: Theme, brandTheme: Brand): StyleValidateButtonType =>\n StyleSheet.create({\n validateButton: {\n backgroundColor: brandTheme?.colors?.primary || theme.colors.text.primary,\n borderRadius: 7,\n width: '100%'\n },\n validateButtonText: {\n fontSize: 14,\n lineHeight: 20,\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.white,\n marginBottom: theme.spacing.small,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n }\n });\n\nconst ValidateButton = ({slideIndex, validateButton}: ValidateButtonProps) => {\n const {label, onClick, disabled} = validateButton;\n const {theme, brandTheme} = useTemplateContext();\n const [style, setStyle] = useState<StyleValidateButtonType>();\n\n useEffect(() => {\n const buttonStyle = createValidateButtonStyle(theme, brandTheme);\n setStyle(buttonStyle);\n }, [theme, brandTheme]);\n\n if (!style) return null;\n\n return (\n <Touchable\n style={style.validateButton}\n onPress={onClick}\n disabled={disabled}\n accessibilityLabel={label}\n testID={`slide-validate-button-${slideIndex}`}\n >\n <Text style={style.validateButtonText}>{label}</Text>\n </Touchable>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOrigin: ViewStyle;\n questionText: TextStyle;\n questionHelp: ViewStyle;\n choicesContainer: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesContainer: {\n flex: 1,\n width: '100%',\n justifyContent: 'center'\n }\n });\n\ntype QuestionProps = {\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin} = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n return (\n <>\n <View style={style.questionHeading}>\n <Text style={style.questionOrigin}>{questionOrigin}</Text>\n <Text style={style.questionText}>{questionText}</Text>\n <Text style={style.questionHelp}>{get('help', answerUI)}</Text>\n </View>\n <View style={style.choicesContainer}>\n <Answer {...answerUI} />\n </View>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n};\n\nconst createSlideStyle = (num: number, screenWidth: number): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: 34 + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n\n const {width} = useWindowDimensions();\n const slideStyle = createSlideStyle(num, width);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <View style={slideStyle.slide}>\n {loading ? (\n // <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n <Text>@todo loader {num}</Text>\n ) : (\n <>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n key=\"validate-button\"\n />\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </>\n )}\n </View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
|
|
@@ -182,6 +182,11 @@ export declare type PopinProps = {
|
|
|
182
182
|
showCorrectionPopin?: boolean;
|
|
183
183
|
animateCorrectionPopin?: boolean;
|
|
184
184
|
};
|
|
185
|
+
export declare type ValidateButtonProps = {
|
|
186
|
+
slideIndex: string;
|
|
187
|
+
validateButton: ReviewSlideProps['validateButton'];
|
|
188
|
+
primarySkinColor?: string;
|
|
189
|
+
};
|
|
185
190
|
export declare type SlideProps = {
|
|
186
191
|
position: number;
|
|
187
192
|
loading: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/prop-types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAuC,EACrC,0BAA0B,EAC3B,MAAM,mDAAmD,CAAC;AAC3D,OAAwB,EAAC,WAAW,EAAC,MAAM,kCAAkC,CAAC;AAE9E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAY1B,CAAC;AAEH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,UAAU,GAAG;IACvB,oBAAoB,EAAE,0BAA0B,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC;IAClB,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/prop-types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAuC,EACrC,0BAA0B,EAC3B,MAAM,mDAAmD,CAAC;AAC3D,OAAwB,EAAC,WAAW,EAAC,MAAM,kCAAkC,CAAC;AAE9E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAY1B,CAAC;AAEH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,UAAU,GAAG;IACvB,oBAAoB,EAAE,0BAA0B,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC;IAClB,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prop-types.js","names":["SlidePropsTypes","PropTypes","shape","position","number","loading","bool","loadingAriaLabel","string","animationType","isCorrect","animateCorrectionPopin","showCorrectionPopin","disableContent","parentContentTitle","questionText","answerUI","AnswerPropTypes","propTypes","slideIndex","slide","validateButton","label","isRequired","onClick","func","disabled","correctionPopinProps","klf","ReviewCorrectionPopinPropTypes","information","next","resultLabel","type"],"sources":["../../../src/organism/review-slide/prop-types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewCorrectionPopinPropTypes, {\n ReviewCorrectionPopinProps\n} from '../../molecule/review-correction-popin/prop-types';\nimport AnswerPropTypes, {AnswerProps} from '../../molecule/answer/prop-types';\n\nexport const SlidePropsTypes = PropTypes.shape({\n position: PropTypes.number,\n loading: PropTypes.bool,\n loadingAriaLabel: PropTypes.string,\n animationType: PropTypes.string, // 'unstack' | 'restack'\n isCorrect: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n showCorrectionPopin: PropTypes.bool,\n disableContent: PropTypes.bool,\n parentContentTitle: PropTypes.string,\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(AnswerPropTypes)\n});\n\nconst propTypes = {\n slideIndex: PropTypes.string,\n slide: SlidePropsTypes,\n validateButton: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n disabled: PropTypes.bool\n }),\n correctionPopinProps: PropTypes.shape({\n klf: ReviewCorrectionPopinPropTypes.klf,\n information: ReviewCorrectionPopinPropTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string // Pourquoi le onClick du next n'est pas ici !\n // updateSlidesOnNext: PropTypes.func.isRequired ???\n }),\n resultLabel: ReviewCorrectionPopinPropTypes.resultLabel,\n type: ReviewCorrectionPopinPropTypes.type\n })\n};\n\nexport default propTypes;\n\nexport type PopinProps = {\n correctionPopinProps: ReviewCorrectionPopinProps;\n slideIndex: string;\n showCorrectionPopin?: boolean;\n animateCorrectionPopin?: boolean;\n};\n\nexport type SlideProps = {\n position: number;\n loading: boolean;\n loadingAriaLabel?: string;\n animationType?: 'unstack' | 'restack';\n isCorrect?: boolean;\n animateCorrectionPopin?: boolean;\n showCorrectionPopin?: boolean;\n parentContentTitle?: string;\n questionText?: string;\n answerUI?: AnswerProps;\n};\n\nexport type ReviewSlideProps = {\n slideIndex: string;\n num: number;\n slide: SlideProps;\n correctionPopinProps?: ReviewCorrectionPopinProps;\n validateButton: {\n label: string;\n onClick: () => void;\n disabled: boolean;\n };\n};\n"],"mappings":";;;;;AAAA;;AACA;;AAGA;;;;AAEO,MAAMA,eAAe,GAAGC,kBAAA,CAAUC,KAAV,CAAgB;EAC7CC,QAAQ,EAAEF,kBAAA,CAAUG,MADyB;EAE7CC,OAAO,EAAEJ,kBAAA,CAAUK,IAF0B;EAG7CC,gBAAgB,EAAEN,kBAAA,CAAUO,MAHiB;EAI7CC,aAAa,EAAER,kBAAA,CAAUO,MAJoB;EAIZ;EACjCE,SAAS,EAAET,kBAAA,CAAUK,IALwB;EAM7CK,sBAAsB,EAAEV,kBAAA,CAAUK,IANW;EAO7CM,mBAAmB,EAAEX,kBAAA,CAAUK,IAPc;EAQ7CO,cAAc,EAAEZ,kBAAA,CAAUK,IARmB;EAS7CQ,kBAAkB,EAAEb,kBAAA,CAAUO,MATe;EAU7CO,YAAY,EAAEd,kBAAA,CAAUO,MAVqB;EAW7CQ,QAAQ,EAAEf,kBAAA,CAAUC,KAAV,CAAgBe,mBAAhB;AAXmC,CAAhB,CAAxB;;;AAcP,MAAMC,SAAS,GAAG;EAChBC,UAAU,EAAElB,kBAAA,CAAUO,MADN;EAEhBY,KAAK,EAAEpB,eAFS;EAGhBqB,cAAc,EAAEpB,kBAAA,CAAUC,KAAV,CAAgB;IAC9BoB,KAAK,EAAErB,kBAAA,CAAUO,MAAV,CAAiBe,UADM;IAE9BC,OAAO,EAAEvB,kBAAA,CAAUwB,IAAV,CAAeF,UAFM;IAG9BG,QAAQ,EAAEzB,kBAAA,CAAUK;EAHU,CAAhB,CAHA;EAQhBqB,oBAAoB,EAAE1B,kBAAA,CAAUC,KAAV,CAAgB;IACpC0B,GAAG,EAAEC,mBAAA,CAA+BD,GADA;IAEpCE,WAAW,EAAED,mBAAA,CAA+BC,WAFR;IAGpCC,IAAI,EAAE9B,kBAAA,CAAUC,KAAV,CAAgB;MACpBoB,KAAK,EAAErB,kBAAA,CAAUO,MADG;MAEpB,cAAcP,kBAAA,CAAUO,MAFJ,CAEW;MAC/B;;IAHoB,CAAhB,CAH8B;IAQpCwB,WAAW,EAAEH,mBAAA,CAA+BG,WARR;IASpCC,IAAI,EAAEJ,mBAAA,CAA+BI;EATD,CAAhB;AARN,CAAlB;eAqBef,S"}
|
|
1
|
+
{"version":3,"file":"prop-types.js","names":["SlidePropsTypes","PropTypes","shape","position","number","loading","bool","loadingAriaLabel","string","animationType","isCorrect","animateCorrectionPopin","showCorrectionPopin","disableContent","parentContentTitle","questionText","answerUI","AnswerPropTypes","propTypes","slideIndex","slide","validateButton","label","isRequired","onClick","func","disabled","correctionPopinProps","klf","ReviewCorrectionPopinPropTypes","information","next","resultLabel","type"],"sources":["../../../src/organism/review-slide/prop-types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewCorrectionPopinPropTypes, {\n ReviewCorrectionPopinProps\n} from '../../molecule/review-correction-popin/prop-types';\nimport AnswerPropTypes, {AnswerProps} from '../../molecule/answer/prop-types';\n\nexport const SlidePropsTypes = PropTypes.shape({\n position: PropTypes.number,\n loading: PropTypes.bool,\n loadingAriaLabel: PropTypes.string,\n animationType: PropTypes.string, // 'unstack' | 'restack'\n isCorrect: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n showCorrectionPopin: PropTypes.bool,\n disableContent: PropTypes.bool,\n parentContentTitle: PropTypes.string,\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(AnswerPropTypes)\n});\n\nconst propTypes = {\n slideIndex: PropTypes.string,\n slide: SlidePropsTypes,\n validateButton: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n disabled: PropTypes.bool\n }),\n correctionPopinProps: PropTypes.shape({\n klf: ReviewCorrectionPopinPropTypes.klf,\n information: ReviewCorrectionPopinPropTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string // Pourquoi le onClick du next n'est pas ici !\n // updateSlidesOnNext: PropTypes.func.isRequired ???\n }),\n resultLabel: ReviewCorrectionPopinPropTypes.resultLabel,\n type: ReviewCorrectionPopinPropTypes.type\n })\n};\n\nexport default propTypes;\n\nexport type PopinProps = {\n correctionPopinProps: ReviewCorrectionPopinProps;\n slideIndex: string;\n showCorrectionPopin?: boolean;\n animateCorrectionPopin?: boolean;\n};\n\nexport type ValidateButtonProps = {\n slideIndex: string;\n validateButton: ReviewSlideProps['validateButton'];\n primarySkinColor?: string;\n};\n\nexport type SlideProps = {\n position: number;\n loading: boolean;\n loadingAriaLabel?: string;\n animationType?: 'unstack' | 'restack';\n isCorrect?: boolean;\n animateCorrectionPopin?: boolean;\n showCorrectionPopin?: boolean;\n parentContentTitle?: string;\n questionText?: string;\n answerUI?: AnswerProps;\n};\n\nexport type ReviewSlideProps = {\n slideIndex: string;\n num: number;\n slide: SlideProps;\n correctionPopinProps?: ReviewCorrectionPopinProps;\n validateButton: {\n label: string;\n onClick: () => void;\n disabled: boolean;\n };\n};\n"],"mappings":";;;;;AAAA;;AACA;;AAGA;;;;AAEO,MAAMA,eAAe,GAAGC,kBAAA,CAAUC,KAAV,CAAgB;EAC7CC,QAAQ,EAAEF,kBAAA,CAAUG,MADyB;EAE7CC,OAAO,EAAEJ,kBAAA,CAAUK,IAF0B;EAG7CC,gBAAgB,EAAEN,kBAAA,CAAUO,MAHiB;EAI7CC,aAAa,EAAER,kBAAA,CAAUO,MAJoB;EAIZ;EACjCE,SAAS,EAAET,kBAAA,CAAUK,IALwB;EAM7CK,sBAAsB,EAAEV,kBAAA,CAAUK,IANW;EAO7CM,mBAAmB,EAAEX,kBAAA,CAAUK,IAPc;EAQ7CO,cAAc,EAAEZ,kBAAA,CAAUK,IARmB;EAS7CQ,kBAAkB,EAAEb,kBAAA,CAAUO,MATe;EAU7CO,YAAY,EAAEd,kBAAA,CAAUO,MAVqB;EAW7CQ,QAAQ,EAAEf,kBAAA,CAAUC,KAAV,CAAgBe,mBAAhB;AAXmC,CAAhB,CAAxB;;;AAcP,MAAMC,SAAS,GAAG;EAChBC,UAAU,EAAElB,kBAAA,CAAUO,MADN;EAEhBY,KAAK,EAAEpB,eAFS;EAGhBqB,cAAc,EAAEpB,kBAAA,CAAUC,KAAV,CAAgB;IAC9BoB,KAAK,EAAErB,kBAAA,CAAUO,MAAV,CAAiBe,UADM;IAE9BC,OAAO,EAAEvB,kBAAA,CAAUwB,IAAV,CAAeF,UAFM;IAG9BG,QAAQ,EAAEzB,kBAAA,CAAUK;EAHU,CAAhB,CAHA;EAQhBqB,oBAAoB,EAAE1B,kBAAA,CAAUC,KAAV,CAAgB;IACpC0B,GAAG,EAAEC,mBAAA,CAA+BD,GADA;IAEpCE,WAAW,EAAED,mBAAA,CAA+BC,WAFR;IAGpCC,IAAI,EAAE9B,kBAAA,CAAUC,KAAV,CAAgB;MACpBoB,KAAK,EAAErB,kBAAA,CAAUO,MADG;MAEpB,cAAcP,kBAAA,CAAUO,MAFJ,CAEW;MAC/B;;IAHoB,CAAhB,CAH8B;IAQpCwB,WAAW,EAAEH,mBAAA,CAA+BG,WARR;IASpCC,IAAI,EAAEJ,mBAAA,CAA+BI;EATD,CAAhB;AARN,CAAlB;eAqBef,S"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "10.30.
|
|
3
|
+
"version": "10.30.5-alpha.1+89ae722d1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -157,5 +157,5 @@
|
|
|
157
157
|
"last 2 versions",
|
|
158
158
|
"IE 11"
|
|
159
159
|
],
|
|
160
|
-
"gitHead": "
|
|
160
|
+
"gitHead": "89ae722d1ba04d6da01379267b41a137cac59318"
|
|
161
161
|
}
|