@coorpacademy/components 10.24.0 → 10.24.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/atom/autocomplete/index.js.map +1 -1
- package/es/atom/button-menu/index.js.map +1 -1
- package/es/atom/gradient/index.native.js +1 -1
- package/es/atom/gradient/index.native.js.map +1 -1
- package/es/atom/lottie-wrapper/index.js.map +1 -1
- package/es/atom/select/index.js.map +1 -1
- package/es/atom/select-modal/index.native.js +2 -2
- package/es/atom/select-modal/index.native.js.map +1 -1
- package/es/molecule/add-to-my-list/index.js +3 -2
- package/es/molecule/add-to-my-list/index.js.map +1 -1
- package/es/molecule/brand-tabs/index.js +22 -8
- package/es/molecule/brand-tabs/index.js.map +1 -1
- package/es/molecule/cm-popin/index.js +3 -3
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/discipline-partners/index.js +1 -1
- package/es/molecule/discipline-partners/index.js.map +1 -1
- package/es/molecule/drag-and-drop/upload-report.js +43 -21
- package/es/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/es/molecule/feedback/index.js +2 -2
- package/es/molecule/feedback/index.js.map +1 -1
- package/es/molecule/filters/index.js.map +1 -1
- package/es/molecule/menu-list/index.js +2 -1
- package/es/molecule/menu-list/index.js.map +1 -1
- package/es/molecule/questions/free-text/index.js.map +1 -1
- package/es/molecule/questions/free-text/index.native.js +12 -6
- package/es/molecule/questions/free-text/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/template/index.native.js +42 -67
- package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
- package/es/molecule/skill-card/index.js.map +1 -1
- package/es/template/common/discipline/index.js +1 -1
- package/es/template/common/discipline/index.js.map +1 -1
- package/es/template/teams-dashboard/index.js.map +1 -1
- package/es/util/navigation.js.map +1 -1
- package/es/util/proptypes.js.map +1 -1
- package/lib/atom/autocomplete/index.js.map +1 -1
- package/lib/atom/button-menu/index.js.map +1 -1
- package/lib/atom/gradient/index.native.js +1 -1
- package/lib/atom/gradient/index.native.js.map +1 -1
- package/lib/atom/lottie-wrapper/index.js.map +1 -1
- package/lib/atom/select/index.js.map +1 -1
- package/lib/atom/select-modal/index.native.js +2 -2
- package/lib/atom/select-modal/index.native.js.map +1 -1
- package/lib/molecule/add-to-my-list/index.js +2 -1
- package/lib/molecule/add-to-my-list/index.js.map +1 -1
- package/lib/molecule/brand-tabs/index.js +22 -8
- package/lib/molecule/brand-tabs/index.js.map +1 -1
- package/lib/molecule/cm-popin/index.js +3 -3
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/discipline-partners/index.js +1 -1
- package/lib/molecule/discipline-partners/index.js.map +1 -1
- package/lib/molecule/drag-and-drop/upload-report.js +43 -22
- package/lib/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/lib/molecule/feedback/index.js +2 -2
- package/lib/molecule/feedback/index.js.map +1 -1
- package/lib/molecule/filters/index.js.map +1 -1
- package/lib/molecule/menu-list/index.js +2 -1
- package/lib/molecule/menu-list/index.js.map +1 -1
- package/lib/molecule/questions/free-text/index.js.map +1 -1
- package/lib/molecule/questions/free-text/index.native.js +13 -6
- package/lib/molecule/questions/free-text/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/template/index.native.js +43 -67
- package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
- package/lib/molecule/skill-card/index.js.map +1 -1
- package/lib/template/common/discipline/index.js +1 -1
- package/lib/template/common/discipline/index.js.map +1 -1
- package/lib/template/teams-dashboard/index.js.map +1 -1
- package/lib/util/navigation.js.map +1 -1
- package/lib/util/proptypes.js.map +1 -1
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","convert","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","getOr","ButtonLink","style","propTypes","getGradientBackground","baseColor","gradients","SkillCard","props","context","ariaLabel","skillTitle","skillAriaLabel","buttonLabel","buttonAriaLabel","reviseLabel","reviseAriaLabel","onClick","isCustom","skin","hovered","setHovered","primarySkinColor","handleMouseOver","handleMouseLeave","buttonProps","customStyle","backgroundColor","color","transition","label","titleBackgroundColor","titleBackground","skillCardWrapper","background","questionReviseText","questionReviseIcon","buttonWrapper"],"sources":["../../../src/molecule/skill-card/index.js"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport {convert} from 'css-color-function';\nimport {NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon} from '@coorpacademy/nova-icons';\nimport getOr from 'lodash/fp/getOr';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst getGradientBackground = baseColor => {\n const gradients = [\n convert(`color(${baseColor} lightness(30%))`),\n convert(`color(${baseColor} lightness(47%))`),\n convert(`color(${baseColor} lightness(55%))`)\n ];\n\n return `radial-gradient(62.12% 56.45% at 0% 77.29%, ${gradients[0]} 0%, ${convert(\n `color(${gradients[0]} a(0))`\n )} 100%), radial-gradient(113.85% 103.46% at 93.27% 7.88%, ${gradients[1]} 0%, ${convert(\n `color(${gradients[1]} a(0))`\n )} 100%), radial-gradient(49.66% 49.63% at 78.65% 86.26%, ${gradients[2]} 0%, ${convert(\n `color(${gradients[2]} a(0))`\n )} 100%), ${baseColor}`;\n};\n\nconst SkillCard = (props, context) => {\n const {\n 'aria-label': ariaLabel,\n skillTitle,\n skillAriaLabel,\n buttonLabel,\n buttonAriaLabel,\n reviseLabel,\n reviseAriaLabel,\n onClick,\n isCustom = false\n } = props;\n const {skin} = context;\n const [hovered, setHovered] = useState(false);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onClick,\n 'aria-label': buttonAriaLabel,\n label: buttonLabel,\n 'data-name': 'skill-card-button'\n };\n\n const titleBackgroundColor = useMemo(() => (isCustom ? '#128C72' : primarySkinColor)
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","convert","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","getOr","ButtonLink","style","propTypes","getGradientBackground","baseColor","gradients","SkillCard","props","context","ariaLabel","skillTitle","skillAriaLabel","buttonLabel","buttonAriaLabel","reviseLabel","reviseAriaLabel","onClick","isCustom","skin","hovered","setHovered","primarySkinColor","handleMouseOver","handleMouseLeave","buttonProps","customStyle","backgroundColor","color","transition","label","titleBackgroundColor","titleBackground","skillCardWrapper","background","questionReviseText","questionReviseIcon","buttonWrapper"],"sources":["../../../src/molecule/skill-card/index.js"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport {convert} from 'css-color-function';\nimport {NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon} from '@coorpacademy/nova-icons';\nimport getOr from 'lodash/fp/getOr';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst getGradientBackground = baseColor => {\n const gradients = [\n convert(`color(${baseColor} lightness(30%))`),\n convert(`color(${baseColor} lightness(47%))`),\n convert(`color(${baseColor} lightness(55%))`)\n ];\n\n return `radial-gradient(62.12% 56.45% at 0% 77.29%, ${gradients[0]} 0%, ${convert(\n `color(${gradients[0]} a(0))`\n )} 100%), radial-gradient(113.85% 103.46% at 93.27% 7.88%, ${gradients[1]} 0%, ${convert(\n `color(${gradients[1]} a(0))`\n )} 100%), radial-gradient(49.66% 49.63% at 78.65% 86.26%, ${gradients[2]} 0%, ${convert(\n `color(${gradients[2]} a(0))`\n )} 100%), ${baseColor}`;\n};\n\nconst SkillCard = (props, context) => {\n const {\n 'aria-label': ariaLabel,\n skillTitle,\n skillAriaLabel,\n buttonLabel,\n buttonAriaLabel,\n reviseLabel,\n reviseAriaLabel,\n onClick,\n isCustom = false\n } = props;\n const {skin} = context;\n const [hovered, setHovered] = useState(false);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onClick,\n 'aria-label': buttonAriaLabel,\n label: buttonLabel,\n 'data-name': 'skill-card-button'\n };\n\n const titleBackgroundColor = useMemo(\n () => (isCustom ? '#128C72' : primarySkinColor),\n [isCustom, primarySkinColor]\n );\n\n const titleBackground = useMemo(\n () => getGradientBackground(titleBackgroundColor),\n [titleBackgroundColor]\n );\n\n return (\n <div className={style.skillCardWrapper} data-name=\"skill-card-wrapper\" aria-label={ariaLabel}>\n <div\n data-name=\"skill-title\"\n className={style.skillTitle}\n aria-label={skillAriaLabel || skillTitle}\n style={{\n background: titleBackground\n }}\n >\n {skillTitle}\n </div>\n <div data-name=\"card-content-wrapper\">\n <div\n className={style.questionReviseText}\n data-name=\"questions-to-revise-label\"\n aria-label={reviseAriaLabel || reviseLabel}\n >\n <QuestionIcon className={style.questionReviseIcon} width={16} height={16} />\n {reviseLabel}\n </div>\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-wrapper\"\n >\n <ButtonLink {...buttonProps} />\n </div>\n </div>\n </div>\n );\n};\n\nSkillCard.propTypes = propTypes;\n\nexport default SkillCard;\n"],"mappings":"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"}
|
|
@@ -117,7 +117,7 @@ const Discipline = (props, context) => {
|
|
|
117
117
|
removeFromMyListText: removeFromMyListText,
|
|
118
118
|
favorite: favorite
|
|
119
119
|
});
|
|
120
|
-
const addToMyListProviderWrap = disableAddToMyList ?
|
|
120
|
+
const addToMyListProviderWrap = disableAddToMyList ? /*#__PURE__*/React.createElement(React.Fragment, null, shareFeedBack, discipline) : /*#__PURE__*/React.createElement(AddToMyListStatusProvider, null, shareFeedBack, addToMyListFeedback, discipline);
|
|
121
121
|
const shareProviderWrap = disableShare ? addToMyListProviderWrap : /*#__PURE__*/React.createElement(ShareStatusProvider, null, addToMyListProviderWrap);
|
|
122
122
|
return shareProviderWrap;
|
|
123
123
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","isEmpty","PropTypes","DisciplineCTA","DisciplineHeader","DisciplinePartners","DisciplineScope","Share","ShareFeedback","ShareStatusProvider","AddToMyList","AddToMyListFeedback","AddToMyListStatusProvider","style","Discipline","props","context","selected","level","levels","changeLevel","image","title","video","authors","description","start","buy","startLabel","buyLabel","shareWording","shareText","shareSuccessWording","shareErrorWording","addToMyListButton","favorite","onFavoriteClick","addToMyListText","removeFromMyListText","disableShare","disableAddToMyList","authorSection","partners","disciplineCTA","disciplineContent","content","disciplineHeader","header","discipline","container","leftSection","mobileAuthorCtaSection","columnReverse","cta","addToMyListBtn","shareBtn","rightSection","stickySection","buttons","shareFeedBack","addToMyListFeedback","addToMyListProviderWrap","shareProviderWrap","propTypes","onClick","wording","text","successWording","errorWording","bool","contextTypes","translate","func"],"sources":["../../../../src/template/common/discipline/index.js"],"sourcesContent":["import React from 'react';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport PropTypes from 'prop-types';\nimport DisciplineCTA from '../../../molecule/discipline-cta';\nimport DisciplineHeader from '../../../molecule/discipline-header';\nimport DisciplinePartners from '../../../molecule/discipline-partners';\nimport DisciplineScope from '../../../molecule/discipline-scope';\nimport Share, {ShareFeedback, ShareStatusProvider} from '../../../molecule/share';\nimport AddToMyList, {\n AddToMyListFeedback,\n AddToMyListStatusProvider\n} from '../../../molecule/add-to-my-list';\nimport style from './style.css';\n\nconst Discipline = (props, context) => {\n const {\n selected = 0,\n level,\n levels,\n changeLevel,\n image,\n title = '',\n video,\n authors = [],\n description = '',\n start,\n buy,\n startLabel,\n buyLabel,\n shareWording,\n shareText,\n shareSuccessWording,\n shareErrorWording,\n addToMyListButton,\n favorite,\n onFavoriteClick,\n addToMyListText,\n removeFromMyListText,\n disableShare = false,\n disableAddToMyList = false\n } = props;\n\n const authorSection = isEmpty(authors) ? null : (\n <div className={style.partners}>\n <DisciplinePartners authors={authors} />\n </div>\n );\n\n const disciplineCTA = (\n <DisciplineCTA\n type={'discipline'}\n start={start}\n buy={buy}\n startLabel={startLabel}\n buyLabel={buyLabel}\n />\n );\n\n const disciplineContent = (\n <div className={style.content}>\n <DisciplineScope content={level} levels={levels} selected={selected} onClick={changeLevel} />\n </div>\n );\n\n const disciplineHeader = (\n <div className={style.header}>\n <DisciplineHeader image={image} video={video} title={title} description={description} />\n </div>\n );\n\n const discipline = (\n <div data-name=\"discipline\" className={style.container} key=\"discipline\">\n <div className={style.leftSection}>\n {disciplineHeader}\n <div className={style.mobileAuthorCtaSection}>\n <div className={style.columnReverse}>\n <div className={style.cta}>{disciplineCTA}</div>\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListTablet'}\n />\n )}\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareTablet'}\n />\n )}\n </div>\n {authorSection}\n </div>\n {disciplineContent}\n </div>\n <div className={style.rightSection}>\n <div className={style.stickySection}>\n <div className={style.cta}>\n {disciplineCTA}\n {disableShare && disableAddToMyList ? null : (\n <div className={style.buttons}>\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareDesktop'}\n />\n )}\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListDesktop'}\n />\n )}\n </div>\n )}\n </div>\n {authorSection}\n </div>\n </div>\n </div>\n );\n\n const shareFeedBack = disableShare ? null : (\n <ShareFeedback\n errorWording={shareErrorWording}\n successWording={shareSuccessWording}\n key=\"shareFeedBack\"\n />\n );\n\n const addToMyListFeedback = disableAddToMyList ? null : (\n <AddToMyListFeedback\n addToMyListText={addToMyListText}\n removeFromMyListText={removeFromMyListText}\n favorite={favorite}\n />\n );\n\n const addToMyListProviderWrap = disableAddToMyList ? (\n [shareFeedBack, discipline]\n ) : (\n <AddToMyListStatusProvider>\n {shareFeedBack}\n {addToMyListFeedback}\n {discipline}\n </AddToMyListStatusProvider>\n );\n const shareProviderWrap = disableShare ? (\n addToMyListProviderWrap\n ) : (\n <ShareStatusProvider>{addToMyListProviderWrap}</ShareStatusProvider>\n );\n\n return shareProviderWrap;\n};\n\nDiscipline.propTypes = {\n image: DisciplineHeader.propTypes.image,\n video: DisciplineHeader.propTypes.video,\n title: DisciplineHeader.propTypes.title,\n description: DisciplineHeader.propTypes.description,\n start: DisciplineCTA.propTypes.start,\n buy: DisciplineCTA.propTypes.buy,\n startLabel: DisciplineCTA.propTypes.startLabel,\n buyLabel: DisciplineCTA.propTypes.buyLabel,\n authors: DisciplinePartners.propTypes.authors,\n level: DisciplineScope.propTypes.content,\n levels: DisciplineScope.propTypes.levels,\n selected: DisciplineScope.propTypes.selected,\n changeLevel: DisciplineScope.propTypes.onClick,\n shareWording: Share.propTypes.wording,\n shareText: Share.propTypes.text,\n shareSuccessWording: ShareFeedback.propTypes.successWording,\n shareErrorWording: ShareFeedback.propTypes.errorWording,\n addToMyListText: AddToMyListFeedback.propTypes.addToMyListText,\n removeFromMyListText: AddToMyListFeedback.propTypes.removeFromMyListText,\n addToMyListButton: AddToMyList.propTypes.addToMyListButton,\n onFavoriteClick: AddToMyList.propTypes.onFavoriteClick,\n favorite: AddToMyList.propTypes.favorite,\n disableShare: PropTypes.bool,\n disableAddToMyList: PropTypes.bool\n};\n\nDiscipline.contextTypes = {\n translate: PropTypes.func\n};\n\nexport default Discipline;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","isEmpty","PropTypes","DisciplineCTA","DisciplineHeader","DisciplinePartners","DisciplineScope","Share","ShareFeedback","ShareStatusProvider","AddToMyList","AddToMyListFeedback","AddToMyListStatusProvider","style","Discipline","props","context","selected","level","levels","changeLevel","image","title","video","authors","description","start","buy","startLabel","buyLabel","shareWording","shareText","shareSuccessWording","shareErrorWording","addToMyListButton","favorite","onFavoriteClick","addToMyListText","removeFromMyListText","disableShare","disableAddToMyList","authorSection","partners","disciplineCTA","disciplineContent","content","disciplineHeader","header","discipline","container","leftSection","mobileAuthorCtaSection","columnReverse","cta","addToMyListBtn","shareBtn","rightSection","stickySection","buttons","shareFeedBack","addToMyListFeedback","addToMyListProviderWrap","shareProviderWrap","propTypes","onClick","wording","text","successWording","errorWording","bool","contextTypes","translate","func"],"sources":["../../../../src/template/common/discipline/index.js"],"sourcesContent":["import React from 'react';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport PropTypes from 'prop-types';\nimport DisciplineCTA from '../../../molecule/discipline-cta';\nimport DisciplineHeader from '../../../molecule/discipline-header';\nimport DisciplinePartners from '../../../molecule/discipline-partners';\nimport DisciplineScope from '../../../molecule/discipline-scope';\nimport Share, {ShareFeedback, ShareStatusProvider} from '../../../molecule/share';\nimport AddToMyList, {\n AddToMyListFeedback,\n AddToMyListStatusProvider\n} from '../../../molecule/add-to-my-list';\nimport style from './style.css';\n\nconst Discipline = (props, context) => {\n const {\n selected = 0,\n level,\n levels,\n changeLevel,\n image,\n title = '',\n video,\n authors = [],\n description = '',\n start,\n buy,\n startLabel,\n buyLabel,\n shareWording,\n shareText,\n shareSuccessWording,\n shareErrorWording,\n addToMyListButton,\n favorite,\n onFavoriteClick,\n addToMyListText,\n removeFromMyListText,\n disableShare = false,\n disableAddToMyList = false\n } = props;\n\n const authorSection = isEmpty(authors) ? null : (\n <div className={style.partners}>\n <DisciplinePartners authors={authors} />\n </div>\n );\n\n const disciplineCTA = (\n <DisciplineCTA\n type={'discipline'}\n start={start}\n buy={buy}\n startLabel={startLabel}\n buyLabel={buyLabel}\n />\n );\n\n const disciplineContent = (\n <div className={style.content}>\n <DisciplineScope content={level} levels={levels} selected={selected} onClick={changeLevel} />\n </div>\n );\n\n const disciplineHeader = (\n <div className={style.header}>\n <DisciplineHeader image={image} video={video} title={title} description={description} />\n </div>\n );\n\n const discipline = (\n <div data-name=\"discipline\" className={style.container} key=\"discipline\">\n <div className={style.leftSection}>\n {disciplineHeader}\n <div className={style.mobileAuthorCtaSection}>\n <div className={style.columnReverse}>\n <div className={style.cta}>{disciplineCTA}</div>\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListTablet'}\n />\n )}\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareTablet'}\n />\n )}\n </div>\n {authorSection}\n </div>\n {disciplineContent}\n </div>\n <div className={style.rightSection}>\n <div className={style.stickySection}>\n <div className={style.cta}>\n {disciplineCTA}\n {disableShare && disableAddToMyList ? null : (\n <div className={style.buttons}>\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareDesktop'}\n />\n )}\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListDesktop'}\n />\n )}\n </div>\n )}\n </div>\n {authorSection}\n </div>\n </div>\n </div>\n );\n\n const shareFeedBack = disableShare ? null : (\n <ShareFeedback\n errorWording={shareErrorWording}\n successWording={shareSuccessWording}\n key=\"shareFeedBack\"\n />\n );\n\n const addToMyListFeedback = disableAddToMyList ? null : (\n <AddToMyListFeedback\n addToMyListText={addToMyListText}\n removeFromMyListText={removeFromMyListText}\n favorite={favorite}\n />\n );\n\n const addToMyListProviderWrap = disableAddToMyList ? (\n <>\n {shareFeedBack}\n {discipline}\n </>\n ) : (\n <AddToMyListStatusProvider>\n {shareFeedBack}\n {addToMyListFeedback}\n {discipline}\n </AddToMyListStatusProvider>\n );\n const shareProviderWrap = disableShare ? (\n addToMyListProviderWrap\n ) : (\n <ShareStatusProvider>{addToMyListProviderWrap}</ShareStatusProvider>\n );\n\n return shareProviderWrap;\n};\n\nDiscipline.propTypes = {\n image: DisciplineHeader.propTypes.image,\n video: DisciplineHeader.propTypes.video,\n title: DisciplineHeader.propTypes.title,\n description: DisciplineHeader.propTypes.description,\n start: DisciplineCTA.propTypes.start,\n buy: DisciplineCTA.propTypes.buy,\n startLabel: DisciplineCTA.propTypes.startLabel,\n buyLabel: DisciplineCTA.propTypes.buyLabel,\n authors: DisciplinePartners.propTypes.authors,\n level: DisciplineScope.propTypes.content,\n levels: DisciplineScope.propTypes.levels,\n selected: DisciplineScope.propTypes.selected,\n changeLevel: DisciplineScope.propTypes.onClick,\n shareWording: Share.propTypes.wording,\n shareText: Share.propTypes.text,\n shareSuccessWording: ShareFeedback.propTypes.successWording,\n shareErrorWording: ShareFeedback.propTypes.errorWording,\n addToMyListText: AddToMyListFeedback.propTypes.addToMyListText,\n removeFromMyListText: AddToMyListFeedback.propTypes.removeFromMyListText,\n addToMyListButton: AddToMyList.propTypes.addToMyListButton,\n onFavoriteClick: AddToMyList.propTypes.onFavoriteClick,\n favorite: AddToMyList.propTypes.favorite,\n disableShare: PropTypes.bool,\n disableAddToMyList: PropTypes.bool\n};\n\nDiscipline.contextTypes = {\n translate: PropTypes.func\n};\n\nexport default Discipline;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useState","useCallback","useMemo","PropTypes","MoocHeader","Cta","Loader","CardsList","style","TeamsDashboard","logo","platformLinks","sections","isLoading","isShadowed","setShadowed","onMenuOpen","onMenuClose","buildSection","section","index","title","sectionsList","convert","cap","loader","shadowedTeamsDashboard","teamsDashboard","sectionsWrapper","propTypes","arrayOf","shape","bool"],"sources":["../../../src/template/teams-dashboard/index.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {map} from 'lodash/fp';\nimport MoocHeader from '../../organism/mooc-header';\nimport Cta from '../../atom/cta';\nimport Loader from '../../atom/loader';\nimport CardsList from '../../molecule/dashboard/cards-list';\nimport style from './style.css';\n\nconst TeamsDashboard = ({logo, platformLinks, sections, isLoading}) => {\n const [isShadowed, setShadowed] = useState(false);\n const onMenuOpen = useCallback(() => setShadowed(true), []);\n const onMenuClose = useCallback(() => setShadowed(false), []);\n\n const buildSection = useCallback((section, index) => {\n return <CardsList {...section} key={section.title + index} />;\n }, []);\n\n const sectionsList = useMemo(() => map.convert({cap: false})(buildSection, sections)
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useState","useCallback","useMemo","PropTypes","MoocHeader","Cta","Loader","CardsList","style","TeamsDashboard","logo","platformLinks","sections","isLoading","isShadowed","setShadowed","onMenuOpen","onMenuClose","buildSection","section","index","title","sectionsList","convert","cap","loader","shadowedTeamsDashboard","teamsDashboard","sectionsWrapper","propTypes","arrayOf","shape","bool"],"sources":["../../../src/template/teams-dashboard/index.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {map} from 'lodash/fp';\nimport MoocHeader from '../../organism/mooc-header';\nimport Cta from '../../atom/cta';\nimport Loader from '../../atom/loader';\nimport CardsList from '../../molecule/dashboard/cards-list';\nimport style from './style.css';\n\nconst TeamsDashboard = ({logo, platformLinks, sections, isLoading}) => {\n const [isShadowed, setShadowed] = useState(false);\n const onMenuOpen = useCallback(() => setShadowed(true), []);\n const onMenuClose = useCallback(() => setShadowed(false), []);\n\n const buildSection = useCallback((section, index) => {\n return <CardsList {...section} key={section.title + index} />;\n }, []);\n\n const sectionsList = useMemo(\n () => map.convert({cap: false})(buildSection, sections),\n [buildSection, sections]\n );\n\n return isLoading ? (\n <div className={style.loader}>\n <Loader data-name=\"teams-dashboard-loader\" />\n </div>\n ) : (\n <div\n data-name=\"teams-dashboard\"\n className={isShadowed ? style.shadowedTeamsDashboard : style.teamsDashboard}\n >\n <MoocHeader\n data-name=\"teams-dashboard-header\"\n logo={logo}\n links={platformLinks}\n onMenuOpen={onMenuOpen}\n onMenuClose={onMenuClose}\n />\n <div data-name=\"sections-wrapper\" className={isShadowed ? style.sectionsWrapper : null}>\n {sectionsList}\n </div>\n </div>\n );\n};\n\nTeamsDashboard.propTypes = {\n logo: MoocHeader.propTypes.logo,\n platformLinks: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n sections: PropTypes.arrayOf(PropTypes.shape(CardsList.propTypes)),\n isLoading: PropTypes.bool\n};\n\nexport default TeamsDashboard;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,WAAzB,EAAsCC,OAAtC,QAAoD,OAApD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,UAAP,MAAuB,4BAAvB;AACA,OAAOC,GAAP,MAAgB,gBAAhB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,SAAP,MAAsB,qCAAtB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,cAAc,GAAG,CAAC;EAACC,IAAD;EAAOC,aAAP;EAAsBC,QAAtB;EAAgCC;AAAhC,CAAD,KAAgD;EACrE,MAAM,CAACC,UAAD,EAAaC,WAAb,IAA4Bf,QAAQ,CAAC,KAAD,CAA1C;EACA,MAAMgB,UAAU,GAAGf,WAAW,CAAC,MAAMc,WAAW,CAAC,IAAD,CAAlB,EAA0B,EAA1B,CAA9B;EACA,MAAME,WAAW,GAAGhB,WAAW,CAAC,MAAMc,WAAW,CAAC,KAAD,CAAlB,EAA2B,EAA3B,CAA/B;EAEA,MAAMG,YAAY,GAAGjB,WAAW,CAAC,CAACkB,OAAD,EAAUC,KAAV,KAAoB;IACnD,oBAAO,oBAAC,SAAD,eAAeD,OAAf;MAAwB,GAAG,EAAEA,OAAO,CAACE,KAAR,GAAgBD;IAA7C,GAAP;EACD,CAF+B,EAE7B,EAF6B,CAAhC;EAIA,MAAME,YAAY,GAAGpB,OAAO,CAC1B,MAAM,KAAIqB,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EAA0BN,YAA1B,EAAwCN,QAAxC,CADoB,EAE1B,CAACM,YAAD,EAAeN,QAAf,CAF0B,CAA5B;EAKA,OAAOC,SAAS,gBACd;IAAK,SAAS,EAAEL,KAAK,CAACiB;EAAtB,gBACE,oBAAC,MAAD;IAAQ,aAAU;EAAlB,EADF,CADc,gBAKd;IACE,aAAU,iBADZ;IAEE,SAAS,EAAEX,UAAU,GAAGN,KAAK,CAACkB,sBAAT,GAAkClB,KAAK,CAACmB;EAF/D,gBAIE,oBAAC,UAAD;IACE,aAAU,wBADZ;IAEE,IAAI,EAAEjB,IAFR;IAGE,KAAK,EAAEC,aAHT;IAIE,UAAU,EAAEK,UAJd;IAKE,WAAW,EAAEC;EALf,EAJF,eAWE;IAAK,aAAU,kBAAf;IAAkC,SAAS,EAAEH,UAAU,GAAGN,KAAK,CAACoB,eAAT,GAA2B;EAAlF,GACGN,YADH,CAXF,CALF;AAqBD,CAnCD;;AAqCAb,cAAc,CAACoB,SAAf,2CAA2B;EACzBnB,IAAI,EAAEN,UAAU,CAACyB,SAAX,CAAqBnB,IADF;EAEzBC,aAAa,EAAER,SAAS,CAAC2B,OAAV,CAAkB3B,SAAS,CAAC4B,KAAV,CAAgB1B,GAAG,CAACwB,SAApB,CAAlB,CAFU;EAGzBjB,QAAQ,EAAET,SAAS,CAAC2B,OAAV,CAAkB3B,SAAS,CAAC4B,KAAV,CAAgBxB,SAAS,CAACsB,SAA1B,CAAlB,CAHe;EAIzBhB,SAAS,EAAEV,SAAS,CAAC6B;AAJI,CAA3B;AAOA,eAAevB,cAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","names":["parse","isLeftClickEvent","e","button","isModifiedEvent","metaKey","altKey","ctrlKey","shiftKey","navigation","options","_history","href","defaultPrevented","host","preventDefault","push"],"sources":["../../src/util/navigation.js"],"sourcesContent":["/* eslint-disable node/no-deprecated-api */\nimport {parse} from 'url';\nimport {getOr, has, noop} from 'lodash/fp';\n\nconst isLeftClickEvent = e => e.button === 0;\nconst isModifiedEvent = e => !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);\n\nconst navigation = options => {\n const _history = getOr({}, 'history', options);\n if (!has('push', _history)) {\n return () => noop;\n }\n\n return ({href} = {})
|
|
1
|
+
{"version":3,"file":"navigation.js","names":["parse","isLeftClickEvent","e","button","isModifiedEvent","metaKey","altKey","ctrlKey","shiftKey","navigation","options","_history","href","defaultPrevented","host","preventDefault","push"],"sources":["../../src/util/navigation.js"],"sourcesContent":["/* eslint-disable node/no-deprecated-api */\nimport {parse} from 'url';\nimport {getOr, has, noop} from 'lodash/fp';\n\nconst isLeftClickEvent = e => e.button === 0;\nconst isModifiedEvent = e => !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);\n\nconst navigation = options => {\n const _history = getOr({}, 'history', options);\n if (!has('push', _history)) {\n return () => noop;\n }\n\n return ({href} = {}) =>\n e => {\n if (!href || e.defaultPrevented || isModifiedEvent(e) || !isLeftClickEvent(e)) {\n return;\n }\n if (parse(href).host) return;\n e.preventDefault();\n _history.push(href);\n };\n};\n\nexport default navigation;\n"],"mappings":";;;;AAAA;AACA,SAAQA,KAAR,QAAoB,KAApB;;AAGA,MAAMC,gBAAgB,GAAGC,CAAC,IAAIA,CAAC,CAACC,MAAF,KAAa,CAA3C;;AACA,MAAMC,eAAe,GAAGF,CAAC,IAAI,CAAC,EAAEA,CAAC,CAACG,OAAF,IAAaH,CAAC,CAACI,MAAf,IAAyBJ,CAAC,CAACK,OAA3B,IAAsCL,CAAC,CAACM,QAA1C,CAA9B;;AAEA,MAAMC,UAAU,GAAGC,OAAO,IAAI;EAC5B,MAAMC,QAAQ,GAAG,OAAM,EAAN,EAAU,SAAV,EAAqBD,OAArB,CAAjB;;EACA,IAAI,CAAC,KAAI,MAAJ,EAAYC,QAAZ,CAAL,EAA4B;IAC1B,OAAO,WAAP;EACD;;EAED,OAAO,CAAC;IAACC;EAAD,IAAS,EAAV,KACLV,CAAC,IAAI;IACH,IAAI,CAACU,IAAD,IAASV,CAAC,CAACW,gBAAX,IAA+BT,eAAe,CAACF,CAAD,CAA9C,IAAqD,CAACD,gBAAgB,CAACC,CAAD,CAA1E,EAA+E;MAC7E;IACD;;IACD,IAAIF,KAAK,CAACY,IAAD,CAAL,CAAYE,IAAhB,EAAsB;IACtBZ,CAAC,CAACa,cAAF;;IACAJ,QAAQ,CAACK,IAAT,CAAcJ,IAAd;EACD,CARH;AASD,CAfD;;AAiBA,eAAeH,UAAf"}
|
package/es/util/proptypes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proptypes.js","names":["PropTypes","includes","stringMatching","_ColorPropType","_HexPropType","URL_REGEXP","UrlPropType","PATH_REGEXP","PathPropType","SrcPropType","oneOfType","ImagePropType","propValue","key","componentName","Error","ColorPropType","HexPropType"],"sources":["../../src/util/proptypes.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport includes from 'lodash/fp/includes';\nimport stringMatching from 'extended-proptypes/lib/validators/stringMatching';\n\nimport _ColorPropType from 'extended-proptypes/lib/validators/color';\nimport _HexPropType from 'extended-proptypes/lib/validators/hex';\n\nconst URL_REGEXP
|
|
1
|
+
{"version":3,"file":"proptypes.js","names":["PropTypes","includes","stringMatching","_ColorPropType","_HexPropType","URL_REGEXP","UrlPropType","PATH_REGEXP","PathPropType","SrcPropType","oneOfType","ImagePropType","propValue","key","componentName","Error","ColorPropType","HexPropType"],"sources":["../../src/util/proptypes.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport includes from 'lodash/fp/includes';\nimport stringMatching from 'extended-proptypes/lib/validators/stringMatching';\n\nimport _ColorPropType from 'extended-proptypes/lib/validators/color';\nimport _HexPropType from 'extended-proptypes/lib/validators/hex';\n\nconst URL_REGEXP =\n /^(http(s)?:\\/\\/.)[-a-zA-Z0-9@:%._\\\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\\\+.~#?&//=]*)$/;\nexport const UrlPropType = stringMatching(URL_REGEXP);\n\nconst PATH_REGEXP = /^\\/([-a-zA-Z0-9@:%_\\\\+.~#?&//=]*)$/;\nexport const PathPropType = stringMatching(PATH_REGEXP);\n\nexport const SrcPropType = PropTypes.oneOfType([UrlPropType, PathPropType]);\n\nexport const ImagePropType = (propValue, key, componentName) => {\n if (includes(propValue[key], ['jpg', 'png', 'svg+xml'])) return;\n return new Error(\n `Invalid prop value: ${propValue[key]}, at component: ${componentName}. Expected a valid image type: jpg, png or svg+xml.`\n );\n};\n\nexport const ColorPropType = _ColorPropType;\nexport const HexPropType = _HexPropType;\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,QAAP,MAAqB,oBAArB;AACA,OAAOC,cAAP,MAA2B,kDAA3B;AAEA,OAAOC,cAAP,MAA2B,yCAA3B;AACA,OAAOC,YAAP,MAAyB,uCAAzB;AAEA,MAAMC,UAAU,GACd,8FADF;AAEA,OAAO,MAAMC,WAAW,GAAGJ,cAAc,CAACG,UAAD,CAAlC;AAEP,MAAME,WAAW,GAAG,oCAApB;AACA,OAAO,MAAMC,YAAY,GAAGN,cAAc,CAACK,WAAD,CAAnC;AAEP,OAAO,MAAME,WAAW,GAAGT,SAAS,CAACU,SAAV,CAAoB,CAACJ,WAAD,EAAcE,YAAd,CAApB,CAApB;AAEP,OAAO,MAAMG,aAAa,GAAG,CAACC,SAAD,EAAYC,GAAZ,EAAiBC,aAAjB,KAAmC;EAC9D,IAAIb,QAAQ,CAACW,SAAS,CAACC,GAAD,CAAV,EAAiB,CAAC,KAAD,EAAQ,KAAR,EAAe,SAAf,CAAjB,CAAZ,EAAyD;EACzD,OAAO,IAAIE,KAAJ,CACJ,uBAAsBH,SAAS,CAACC,GAAD,CAAM,mBAAkBC,aAAc,qDADjE,CAAP;AAGD,CALM;AAOP,OAAO,MAAME,aAAa,GAAGb,cAAtB;AACP,OAAO,MAAMc,WAAW,GAAGb,YAApB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["renderSuggestion","suggestion","name","Autocomplete","props","placeholder","value","description","required","modified","error","suggestions","onChange","onFetch","onClear","onBlur","onSuggestionSelected","title","propsTitle","className","getClassState","style","default","handleChange","useMemo","e","handleBlur","selectedSuggestion","handleSuggestionsFetchRequested","handleSuggestionsClearRequested","handleSuggestionsSelected","data","inputProps","classnames","isNoTitle","container","input","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestionHighlighted","propTypes","PropTypes","string","bool","arrayOf","shape","oneOfType","number","func"],"sources":["../../../src/atom/autocomplete/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport Autosuggest from 'react-autosuggest';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {noop, isNil} from 'lodash/fp';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst renderSuggestion = suggestion => <span>{suggestion.name}</span>;\n\nconst Autocomplete = props => {\n const {\n placeholder = '',\n value,\n description,\n required,\n modified = false,\n error = false,\n suggestions = [],\n onChange = noop,\n onFetch = noop,\n onClear = noop,\n onBlur = noop,\n onSuggestionSelected = noop,\n title: propsTitle\n } = props;\n\n const title = `${propsTitle}${required ? ' *' : ''}`;\n const className = getClassState(style.default, style.modified, style.error, modified, error);\n\n const handleChange = useMemo(() => e => onChange(e), [onChange]);\n const handleBlur = useMemo(() => (e, selectedSuggestion) => onBlur(e, selectedSuggestion)
|
|
1
|
+
{"version":3,"file":"index.js","names":["renderSuggestion","suggestion","name","Autocomplete","props","placeholder","value","description","required","modified","error","suggestions","onChange","onFetch","onClear","onBlur","onSuggestionSelected","title","propsTitle","className","getClassState","style","default","handleChange","useMemo","e","handleBlur","selectedSuggestion","handleSuggestionsFetchRequested","handleSuggestionsClearRequested","handleSuggestionsSelected","data","inputProps","classnames","isNoTitle","container","input","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestionHighlighted","propTypes","PropTypes","string","bool","arrayOf","shape","oneOfType","number","func"],"sources":["../../../src/atom/autocomplete/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport Autosuggest from 'react-autosuggest';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {noop, isNil} from 'lodash/fp';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst renderSuggestion = suggestion => <span>{suggestion.name}</span>;\n\nconst Autocomplete = props => {\n const {\n placeholder = '',\n value,\n description,\n required,\n modified = false,\n error = false,\n suggestions = [],\n onChange = noop,\n onFetch = noop,\n onClear = noop,\n onBlur = noop,\n onSuggestionSelected = noop,\n title: propsTitle\n } = props;\n\n const title = `${propsTitle}${required ? ' *' : ''}`;\n const className = getClassState(style.default, style.modified, style.error, modified, error);\n\n const handleChange = useMemo(() => e => onChange(e), [onChange]);\n const handleBlur = useMemo(\n () => (e, selectedSuggestion) => onBlur(e, selectedSuggestion),\n [onBlur]\n );\n const handleSuggestionsFetchRequested = useMemo(() => e => onFetch(e), [onFetch]);\n const handleSuggestionsClearRequested = useMemo(() => e => onClear(e), [onClear]);\n const handleSuggestionsSelected = useMemo(\n () => (e, data) => onSuggestionSelected(data),\n [onSuggestionSelected]\n );\n\n const inputProps = {\n placeholder,\n value,\n onChange: handleChange,\n onBlur: handleBlur\n };\n\n return (\n <div className={classnames(className, isNil(title) && style.isNoTitle)}>\n <label>\n <span className={style.title}>{title}</span>\n <div>\n <Autosuggest\n theme={{\n container: style.container,\n input: style.input,\n suggestionsContainer: style.suggestionsContainer,\n suggestionsContainerOpen: style.suggestionsContainerOpen,\n suggestionsList: style.suggestionsList,\n suggestion: style.suggestion,\n suggestionHighlighted: style.suggestionHighlighted\n }}\n suggestions={suggestions}\n onSuggestionsFetchRequested={handleSuggestionsFetchRequested}\n onSuggestionsClearRequested={handleSuggestionsClearRequested}\n getSuggestionValue={noop}\n renderSuggestion={renderSuggestion}\n inputProps={inputProps}\n focusInputOnSuggestionClick={false}\n onSuggestionSelected={handleSuggestionsSelected}\n />\n </div>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nAutocomplete.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.string,\n description: PropTypes.string,\n required: PropTypes.bool,\n modified: PropTypes.bool,\n error: PropTypes.bool,\n suggestions: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n })\n ),\n onChange: PropTypes.func,\n onFetch: PropTypes.func,\n onClear: PropTypes.func,\n onBlur: PropTypes.func,\n onSuggestionSelected: PropTypes.func\n};\n\nexport default Autocomplete;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Button","props","dataName","disabled","label","onClick","type","styleButton","classnames","style","button","default","dangerous","handleOnClick","useCallback","buttonContent","propTypes","PropTypes","string","bool","isRequired","func","oneOf","ButtonMenu","buttons","buildButton","index","buttonList","useMemo","map","convert","cap","arrayOf","shape"],"sources":["../../../src/atom/button-menu/index.js"],"sourcesContent":["import React, {useMemo, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport classnames from 'classnames';\nimport style from './style.css';\n\nconst Button = props => {\n const {'data-name': dataName, disabled, label, onClick, type = 'default'} = props;\n const styleButton = classnames(\n style.button,\n type === 'default' && style.default,\n type === 'dangerous' && style.dangerous,\n disabled && style.disabled\n );\n\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n return (\n <button\n type=\"button\"\n aria-label={label}\n title={label}\n data-name={dataName}\n className={styleButton}\n onClick={handleOnClick}\n >\n <div className={style.buttonContent}>\n <span className={style.label}>{label}</span>\n </div>\n </button>\n );\n};\n\nButton.propTypes = {\n 'data-name': PropTypes.string,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n type: PropTypes.oneOf(['default', 'dangerous'])\n};\n\nconst ButtonMenu = props => {\n const {buttons, 'data-name': dataName} = props;\n const buildButton = useCallback((button, index) => {\n return <Button {...button} key={button.label + index} />;\n }, []);\n\n const buttonList = useMemo(() => map.convert({cap: false})(buildButton, buttons)
|
|
1
|
+
{"version":3,"file":"index.js","names":["Button","props","dataName","disabled","label","onClick","type","styleButton","classnames","style","button","default","dangerous","handleOnClick","useCallback","buttonContent","propTypes","PropTypes","string","bool","isRequired","func","oneOf","ButtonMenu","buttons","buildButton","index","buttonList","useMemo","map","convert","cap","arrayOf","shape"],"sources":["../../../src/atom/button-menu/index.js"],"sourcesContent":["import React, {useMemo, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport classnames from 'classnames';\nimport style from './style.css';\n\nconst Button = props => {\n const {'data-name': dataName, disabled, label, onClick, type = 'default'} = props;\n const styleButton = classnames(\n style.button,\n type === 'default' && style.default,\n type === 'dangerous' && style.dangerous,\n disabled && style.disabled\n );\n\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n return (\n <button\n type=\"button\"\n aria-label={label}\n title={label}\n data-name={dataName}\n className={styleButton}\n onClick={handleOnClick}\n >\n <div className={style.buttonContent}>\n <span className={style.label}>{label}</span>\n </div>\n </button>\n );\n};\n\nButton.propTypes = {\n 'data-name': PropTypes.string,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n type: PropTypes.oneOf(['default', 'dangerous'])\n};\n\nconst ButtonMenu = props => {\n const {buttons, 'data-name': dataName} = props;\n const buildButton = useCallback((button, index) => {\n return <Button {...button} key={button.label + index} />;\n }, []);\n\n const buttonList = useMemo(\n () => map.convert({cap: false})(buildButton, buttons),\n [buttons, buildButton]\n );\n\n return <div data-name={dataName}>{buttonList}</div>;\n};\n\nButtonMenu.propTypes = {\n buttons: PropTypes.arrayOf(PropTypes.shape(Button.propTypes)).isRequired,\n 'data-name': PropTypes.string\n};\n\nexport default ButtonMenu;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,MAAM,GAAGC,KAAK,IAAI;EACtB,MAAM;IAAC,aAAaC,QAAd;IAAwBC,QAAxB;IAAkCC,KAAlC;IAAyCC,OAAzC;IAAkDC,IAAI,GAAG;EAAzD,IAAsEL,KAA5E;EACA,MAAMM,WAAW,GAAG,IAAAC,mBAAA,EAClBC,cAAA,CAAMC,MADY,EAElBJ,IAAI,KAAK,SAAT,IAAsBG,cAAA,CAAME,OAFV,EAGlBL,IAAI,KAAK,WAAT,IAAwBG,cAAA,CAAMG,SAHZ,EAIlBT,QAAQ,IAAIM,cAAA,CAAMN,QAJA,CAApB;EAOA,MAAMU,aAAa,GAAG,IAAAC,kBAAA,EAAY,MAAMT,OAAO,EAAzB,EAA6B,CAACA,OAAD,CAA7B,CAAtB;EACA,oBACE;IACE,IAAI,EAAC,QADP;IAEE,cAAYD,KAFd;IAGE,KAAK,EAAEA,KAHT;IAIE,aAAWF,QAJb;IAKE,SAAS,EAAEK,WALb;IAME,OAAO,EAAEM;EANX,gBAQE;IAAK,SAAS,EAAEJ,cAAA,CAAMM;EAAtB,gBACE;IAAM,SAAS,EAAEN,cAAA,CAAML;EAAvB,GAA+BA,KAA/B,CADF,CARF,CADF;AAcD,CAxBD;;AA0BAJ,MAAM,CAACgB,SAAP,2CAAmB;EACjB,aAAaC,kBAAA,CAAUC,MADN;EAEjBf,QAAQ,EAAEc,kBAAA,CAAUE,IAFH;EAGjBf,KAAK,EAAEa,kBAAA,CAAUC,MAAV,CAAiBE,UAHP;EAIjBf,OAAO,EAAEY,kBAAA,CAAUI,IAAV,CAAeD,UAJP;EAKjBd,IAAI,EAAEW,kBAAA,CAAUK,KAAV,CAAgB,CAAC,SAAD,EAAY,WAAZ,CAAhB;AALW,CAAnB;;AAQA,MAAMC,UAAU,GAAGtB,KAAK,IAAI;EAC1B,MAAM;IAACuB,OAAD;IAAU,aAAatB;EAAvB,IAAmCD,KAAzC;EACA,MAAMwB,WAAW,GAAG,IAAAX,kBAAA,EAAY,CAACJ,MAAD,EAASgB,KAAT,KAAmB;IACjD,oBAAO,6BAAC,MAAD,eAAYhB,MAAZ;MAAoB,GAAG,EAAEA,MAAM,CAACN,KAAP,GAAesB;IAAxC,GAAP;EACD,CAFmB,EAEjB,EAFiB,CAApB;EAIA,MAAMC,UAAU,GAAG,IAAAC,cAAA,EACjB,MAAMC,YAAA,CAAIC,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EAA0BN,WAA1B,EAAuCD,OAAvC,CADW,EAEjB,CAACA,OAAD,EAAUC,WAAV,CAFiB,CAAnB;EAKA,oBAAO;IAAK,aAAWvB;EAAhB,GAA2ByB,UAA3B,CAAP;AACD,CAZD;;AAcAJ,UAAU,CAACP,SAAX,2CAAuB;EACrBQ,OAAO,EAAEP,kBAAA,CAAUe,OAAV,CAAkBf,kBAAA,CAAUgB,KAAV,CAAgBjC,MAAM,CAACgB,SAAvB,CAAlB,EAAqDI,UADzC;EAErB,aAAaH,kBAAA,CAAUC;AAFF,CAAvB;eAKeK,U"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["Gradient","children","colors","transparencyPosition","height","style","testID","pointerEvents","calculatedColors","length","r","g","b","Color","object","_style","push"],"sources":["../../../src/atom/gradient/index.native.tsx"],"sourcesContent":["import React, {ReactNode} from 'react';\nimport {ViewStyle} from 'react-native';\nimport LinearGradient from 'react-native-linear-gradient';\nimport Color from 'color';\n\nexport type Props = {\n children?: ReactNode;\n colors: Array<string>;\n transparencyPosition?: 'top' | 'bottom';\n height?: number;\n style?: ViewStyle | ViewStyle[] | undefined;\n testID?: string;\n pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only' | undefined;\n};\n\nconst Gradient = ({\n children,\n colors,\n transparencyPosition = 'top',\n height,\n style,\n testID,\n pointerEvents\n}: Props) => {\n let calculatedColors = colors;\n if (colors.length === 1) {\n const {r, g, b} = Color(colors[0]).object();\n calculatedColors =\n transparencyPosition === 'top'\n ? [`rgba(${r}, ${g}, ${b}, 0)`, colors[0], colors[0]]\n : [colors[0], colors[0], `rgba(${r}, ${g}, ${b}, 0)`];\n }\n\n const _style = [];\n\n if (style) {\n _style.push(style);\n }\n if (height) {\n _style.push({height});\n }\n\n return (\n <LinearGradient\n
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["Gradient","children","colors","transparencyPosition","height","style","testID","pointerEvents","calculatedColors","length","r","g","b","Color","object","_style","push"],"sources":["../../../src/atom/gradient/index.native.tsx"],"sourcesContent":["import React, {ReactNode} from 'react';\nimport {ViewStyle} from 'react-native';\nimport LinearGradient from 'react-native-linear-gradient';\nimport Color from 'color';\n\nexport type Props = {\n children?: ReactNode;\n colors: Array<string>;\n transparencyPosition?: 'top' | 'bottom';\n height?: number;\n style?: ViewStyle | ViewStyle[] | undefined;\n testID?: string;\n pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only' | undefined;\n};\n\nconst Gradient = ({\n children,\n colors,\n transparencyPosition = 'top',\n height,\n style,\n testID,\n pointerEvents\n}: Props) => {\n let calculatedColors = colors;\n if (colors.length === 1) {\n const {r, g, b} = Color(colors[0]).object();\n calculatedColors =\n transparencyPosition === 'top'\n ? [`rgba(${r}, ${g}, ${b}, 0)`, colors[0], colors[0]]\n : [colors[0], colors[0], `rgba(${r}, ${g}, ${b}, 0)`];\n }\n\n const _style = [];\n\n if (style) {\n _style.push(style);\n }\n if (height) {\n _style.push({height});\n }\n\n return (\n (\n <LinearGradient\n colors={calculatedColors}\n style={_style}\n pointerEvents={pointerEvents}\n testID={testID}\n >\n {children}\n </LinearGradient>\n ) || null\n );\n};\n\nexport default Gradient;\n"],"mappings":";;;;;AAAA;;AAEA;;AACA;;;;AAYA,MAAMA,QAAQ,GAAG,CAAC;EAChBC,QADgB;EAEhBC,MAFgB;EAGhBC,oBAAoB,GAAG,KAHP;EAIhBC,MAJgB;EAKhBC,KALgB;EAMhBC,MANgB;EAOhBC;AAPgB,CAAD,KAQJ;EACX,IAAIC,gBAAgB,GAAGN,MAAvB;;EACA,IAAIA,MAAM,CAACO,MAAP,KAAkB,CAAtB,EAAyB;IACvB,MAAM;MAACC,CAAD;MAAIC,CAAJ;MAAOC;IAAP,IAAY,IAAAC,cAAA,EAAMX,MAAM,CAAC,CAAD,CAAZ,EAAiBY,MAAjB,EAAlB;IACAN,gBAAgB,GACdL,oBAAoB,KAAK,KAAzB,GACI,CAAE,QAAOO,CAAE,KAAIC,CAAE,KAAIC,CAAE,MAAvB,EAA8BV,MAAM,CAAC,CAAD,CAApC,EAAyCA,MAAM,CAAC,CAAD,CAA/C,CADJ,GAEI,CAACA,MAAM,CAAC,CAAD,CAAP,EAAYA,MAAM,CAAC,CAAD,CAAlB,EAAwB,QAAOQ,CAAE,KAAIC,CAAE,KAAIC,CAAE,MAA7C,CAHN;EAID;;EAED,MAAMG,MAAM,GAAG,EAAf;;EAEA,IAAIV,KAAJ,EAAW;IACTU,MAAM,CAACC,IAAP,CAAYX,KAAZ;EACD;;EACD,IAAID,MAAJ,EAAY;IACVW,MAAM,CAACC,IAAP,CAAY;MAACZ;IAAD,CAAZ;EACD;;EAED,OACE,aACE,6BAAC,kCAAD;IACE,MAAM,EAAEI,gBADV;IAEE,KAAK,EAAEO,MAFT;IAGE,aAAa,EAAER,aAHjB;IAIE,MAAM,EAAED;EAJV,GAMGL,QANH,CADF,IASK,IAVP;AAYD,CAvCD;;eAyCeD,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["isIE11","window","userAgent","get","hasMsCrypto","has","hasRevision","includes","hasTrident","fetchAndLoadAnimation","_lottie","_fetch","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","autoplay","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationControl","animationClassName","useRef","animationItem","setAnimationItem","useState","isAnimationVisible","setIsAnimationVisible","_isIE11","useMemo","wrapperClassName","classnames","style","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","useEffect","keys","omit","ANIMATION_CONTROL","stop","lottie","unfetch","destroy","name","maxWidth","maxHeight","opacity","transition","propTypes"],"sources":["../../../src/atom/lottie-wrapper/index.js"],"sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport omit from 'lodash/fp/omit';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\nimport propTypes, {ANIMATION_CONTROL} from './prop-types';\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n _lottie,\n _fetch,\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n autoplay\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation =\n _lottie.loadAnimation &&\n _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName,\n autoplay = true,\n animationControl\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n // lottie's animation instance\n const [animationItem, setAnimationItem] = useState(null);\n\n const [isAnimationVisible, setIsAnimationVisible] = useState(autoplay);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(() => classnames(animationClassName, style.animation)
|
|
1
|
+
{"version":3,"file":"index.js","names":["isIE11","window","userAgent","get","hasMsCrypto","has","hasRevision","includes","hasTrident","fetchAndLoadAnimation","_lottie","_fetch","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","autoplay","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationControl","animationClassName","useRef","animationItem","setAnimationItem","useState","isAnimationVisible","setIsAnimationVisible","_isIE11","useMemo","wrapperClassName","classnames","style","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","useEffect","keys","omit","ANIMATION_CONTROL","stop","lottie","unfetch","destroy","name","maxWidth","maxHeight","opacity","transition","propTypes"],"sources":["../../../src/atom/lottie-wrapper/index.js"],"sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport omit from 'lodash/fp/omit';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\nimport propTypes, {ANIMATION_CONTROL} from './prop-types';\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n _lottie,\n _fetch,\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n autoplay\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation =\n _lottie.loadAnimation &&\n _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName,\n autoplay = true,\n animationControl\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n // lottie's animation instance\n const [animationItem, setAnimationItem] = useState(null);\n\n const [isAnimationVisible, setIsAnimationVisible] = useState(autoplay);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(\n () => classnames(animationClassName, style.animation),\n [animationClassName]\n );\n\n const ie11BackupImageClassName = useMemo(\n () => classnames(backupImageClassName, style.backupImage),\n [backupImageClassName]\n );\n\n useEffect(() => {\n // enzyme does not handle well the state update after an async useEffect in tests\n // to remove when the migration towards @testing-library/react is done\n /* istanbul ignore next */\n if (includes(animationControl, keys(omit('loading', ANIMATION_CONTROL))) && !autoplay) {\n setIsAnimationVisible(true);\n if (animationItem) animationItem[animationControl]();\n if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);\n }\n }, [animationControl, animationItem, autoplay]);\n\n useEffect(() => {\n const loadAnimation = async () => {\n if (!_isIE11 && !animationItem) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n window.lottie = lottie;\n }\n const animation = await fetchAndLoadAnimation(\n lottie,\n unfetch,\n animationSrc,\n containerRef,\n loop,\n lottieAnimationClassName,\n hideOnTransparent,\n autoplay\n );\n\n /* istanbul ignore next */\n setAnimationItem(animation);\n }\n };\n\n loadAnimation();\n return () => animationItem && /* istanbul ignore next */ lottie.destroy(animationItem.name);\n }, [\n lottieAnimationClassName,\n containerRef,\n hideOnTransparent,\n loop,\n animationSrc,\n _isIE11,\n animationItem,\n autoplay\n ]);\n\n return (\n <div\n ref={containerRef}\n aria-label={ariaLabel}\n data-name={dataName}\n className={wrapperClassName}\n style={{\n ...(width && {\n width: `${width}px`,\n maxWidth: `${width}px`\n }),\n ...(height && {\n height: `${height}px`,\n maxHeight: `${height}px`\n }),\n opacity: isAnimationVisible ? 1 : 0,\n transition: 'opacity 0.25s ease-in'\n }}\n >\n {_isIE11 ? (\n <img\n src={ie11ImageBackup}\n className={ie11BackupImageClassName}\n data-name=\"ie11-backup-image\"\n />\n ) : null}\n </div>\n );\n};\n\nLottieWrapper.propTypes = propTypes;\n\nexport default LottieWrapper;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["themeStyle","filter","style","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","Select","props","legacyContext","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","skin","GetSkinFromContext","useMemo","optionList","map","option","index","value","selectOption","titleView","selected","get","find","selectedLabel","isSelectedInValidOption","getOr","validOption","handleChange","e","target","selectedOptions","black","color","shouldUseSkinFontColor","includes","arrowColor","undefined","arrowView","selectedArrow","arrow","behaviourClassName","getClassState","default","composedClassName","classnames","unselected","labelSize","size","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectBox","SelectOptionPropTypes","PropTypes","string","isRequired","oneOfType","number","bool","contextTypes","Provider","childContextTypes","propTypes","func","oneOf","keys","arrayOf","shape"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(() => (propTitle ? `${propTitle}${required ? '*' : ''}` : null), [\n propTitle,\n required\n ]);\n\n const optionList =\n options &&\n options.map((option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title} </span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, options)),\n [multiple, options]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, options)),\n [multiple, options]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const shouldUseSkinFontColor = useMemo(\n () =>\n !isSelectedInValidOption && selected && includes(theme, ['question', 'template', 'player']),\n [isSelectedInValidOption, selected, theme]\n );\n const arrowColor = selected ? color : undefined;\n\n const arrowView = !multiple ? (\n <ArrowDown\n color={includes(theme, ['question', 'template', 'player']) ? arrowColor : black}\n className={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n />\n ) : null;\n const behaviourClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviourClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviourClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <label\n data-name=\"select-wrapper\"\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n {arrowView}\n <select\n data-name=\"native-select\"\n className={style.selectBox}\n title={selectedLabel}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool\n};\n\nexport default Select;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,UAAU,GAAG;EACjBC,MAAM,EAAEC,cAAA,CAAMD,MADG;EAEjBE,OAAO,EAAED,cAAA,CAAMC,OAFE;EAGjBC,MAAM,EAAEF,cAAA,CAAME,MAHG;EAIjBC,IAAI,EAAEH,cAAA,CAAMG,IAJK;EAKjBC,QAAQ,EAAEJ,cAAA,CAAMI,QALC;EAMjBC,IAAI,EAAEL,cAAA,CAAMK,IANK;EAOjBC,WAAW,EAAEN,cAAA,CAAMM,WAPF;EAQjBC,MAAM,EAAEP,cAAA,CAAMO,MARG;EASjBC,QAAQ,EAAER,cAAA,CAAMQ,QATC;EAUjBC,YAAY,EAAE;AAVG,CAAnB;;AAaA,MAAMC,MAAM,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACvC,MAAM;IACJC,IADI;IAEJC,OAAO,GAAG,EAFN;IAGJC,SAHI;IAIJC,eAJI;IAKJC,QALI;IAMJC,QAAQ,GAAG,KANP;IAOJC,QAPI;IAQJC,QARI;IASJC,WATI;IAUJC,KAVI;IAWJC,QAAQ,GAAG,KAXP;IAYJC,KAAK,GAAG,KAZJ;IAaJC,KAAK,EAAEC;EAbH,IAcFf,KAdJ;EAgBA,MAAMgB,IAAI,GAAG,IAAAC,4BAAA,EAAmBhB,aAAnB,CAAb;EACA,MAAMa,KAAK,GAAG,IAAAI,cAAA,EAAQ,MAAOH,SAAS,GAAI,GAAEA,SAAU,GAAEN,QAAQ,GAAG,GAAH,GAAS,EAAG,EAAtC,GAA0C,IAAlE,EAAyE,CACrFM,SADqF,EAErFN,QAFqF,CAAzE,CAAd;EAKA,MAAMU,UAAU,GACdhB,OAAO,IACPA,OAAO,CAACiB,GAAR,CAAY,CAACC,MAAD,EAASC,KAAT,KAAmB;IAC7B,oBACE;MAAQ,GAAG,EAAEA,KAAb;MAAoB,KAAK,EAAED,MAAM,CAACE,KAAlC;MAAyC,SAAS,EAAElC,cAAA,CAAMmC;IAA1D,GACGH,MAAM,CAACnB,IADV,CADF;EAKD,CAND,CAFF;EAUA,MAAMuB,SAAS,GAAGX,KAAK,gBAAG;IAAM,SAAS,EAAEzB,cAAA,CAAMyB;EAAvB,GAA+BA,KAA/B,MAAH,GAAmD,IAA1E;EAEA,MAAMY,QAAQ,GAAG,IAAAR,cAAA,EACf,MACEX,QAAQ,GACJ,IAAAa,YAAA,EAAI,IAAAO,YAAA,EAAI,OAAJ,CAAJ,EAAkB,IAAAvC,eAAA,EAAO;IAACsC,QAAQ,EAAE;EAAX,CAAP,EAAyBvB,OAAzB,CAAlB,CADI,GAEJ,IAAAwB,YAAA,EAAI,OAAJ,EAAa,IAAAC,aAAA,EAAK;IAACF,QAAQ,EAAE;EAAX,CAAL,EAAuBvB,OAAvB,CAAb,CAJS,EAKf,CAACI,QAAD,EAAWJ,OAAX,CALe,CAAjB;EAOA,MAAM0B,aAAa,GAAG,IAAAX,cAAA,EACpB,MACEX,QAAQ,GACJ,IAAAa,YAAA,EAAI,IAAAO,YAAA,EAAI,MAAJ,CAAJ,EAAiB,IAAAvC,eAAA,EAAO;IAACsC,QAAQ,EAAE;EAAX,CAAP,EAAyBvB,OAAzB,CAAjB,CADI,GAEJ,IAAAwB,YAAA,EAAI,MAAJ,EAAY,IAAAC,aAAA,EAAK;IAACF,QAAQ,EAAE;EAAX,CAAL,EAAuBvB,OAAvB,CAAZ,CAJc,EAKpB,CAACI,QAAD,EAAWJ,OAAX,CALoB,CAAtB;EAQA,MAAM2B,uBAAuB,GAAG,IAAAZ,cAAA,EAC9B,MACEP,KAAK,KAAK,QAAV,IACA,IAAAoB,cAAA,EAAM,KAAN,EAAa,MAAb,EAAqB,IAAAH,aAAA,EAAK;IAACI,WAAW,EAAE,KAAd;IAAqBN,QAAQ,EAAE;EAA/B,CAAL,EAA2CvB,OAA3C,CAArB,CAH4B,EAI9B,CAACA,OAAD,EAAUQ,KAAV,CAJ8B,CAAhC;EAOA,MAAMsB,YAAY,GAAG,IAAAf,cAAA,EACnB,MACEX,QAAQ,GACJ2B,CAAC,IAAI;IACH5B,QAAQ,CAAC,IAAAc,YAAA,EAAI,IAAAO,YAAA,EAAI,OAAJ,CAAJ,EAAkBO,CAAC,CAACC,MAAF,CAASC,eAA3B,CAAD,CAAR;EACD,CAHG,GAIJF,CAAC,IAAI;IACH5B,QAAQ,CAAC4B,CAAC,CAACC,MAAF,CAASZ,KAAV,CAAR;EACD,CARY,EASnB,CAACjB,QAAD,EAAWC,QAAX,CATmB,CAArB;EAYA,MAAM8B,KAAK,GAAG,IAAAnB,cAAA,EAAQ,MAAM,IAAAa,cAAA,EAAM,SAAN,EAAiB,cAAjB,EAAiCf,IAAjC,CAAd,EAAsD,CAACA,IAAD,CAAtD,CAAd;EACA,MAAMsB,KAAK,GAAG,IAAApB,cAAA,EAAQ,MAAM,IAAAa,cAAA,EAAM,SAAN,EAAiB,gBAAjB,EAAmCf,IAAnC,CAAd,EAAwD,CAACA,IAAD,CAAxD,CAAd;EACA,MAAMuB,sBAAsB,GAAG,IAAArB,cAAA,EAC7B,MACE,CAACY,uBAAD,IAA4BJ,QAA5B,IAAwC,IAAAc,iBAAA,EAAS7B,KAAT,EAAgB,CAAC,UAAD,EAAa,UAAb,EAAyB,QAAzB,CAAhB,CAFb,EAG7B,CAACmB,uBAAD,EAA0BJ,QAA1B,EAAoCf,KAApC,CAH6B,CAA/B;EAKA,MAAM8B,UAAU,GAAGf,QAAQ,GAAGY,KAAH,GAAWI,SAAtC;EAEA,MAAMC,SAAS,GAAG,CAACpC,QAAD,gBAChB,6BAAC,6CAAD;IACE,KAAK,EAAE,IAAAiC,iBAAA,EAAS7B,KAAT,EAAgB,CAAC,UAAD,EAAa,UAAb,EAAyB,QAAzB,CAAhB,IAAsD8B,UAAtD,GAAmEJ,KAD5E;IAEE,SAAS,EAAEE,sBAAsB,GAAGlD,cAAA,CAAMuD,aAAT,GAAyBvD,cAAA,CAAMwD;EAFlE,EADgB,GAKd,IALJ;EAMA,MAAMC,kBAAkB,GAAG,IAAA5B,cAAA,EACzB,MAAM,IAAA6B,sBAAA,EAAc1D,cAAA,CAAM2D,OAApB,EAA6B3D,cAAA,CAAMuB,QAAnC,EAA6CvB,cAAA,CAAMwB,KAAnD,EAA0DD,QAA1D,EAAoEC,KAApE,CADmB,EAEzB,CAACA,KAAD,EAAQD,QAAR,CAFyB,CAA3B;EAIA,MAAMqC,iBAAiB,GAAG,IAAA/B,cAAA,EACxB,MACE,IAAAgC,mBAAA,EACEvC,KAAK,IAAIA,KAAK,KAAK,cAAnB,GAAoCxB,UAAU,CAACwB,KAAD,CAA9C,GAAwDmC,kBAD1D,EAEEpB,QAAQ,GAAGrC,cAAA,CAAMqC,QAAT,GAAoBrC,cAAA,CAAM8D,UAFpC,EAGE/C,SAHF,CAFsB,EAOxB,CAAC0C,kBAAD,EAAqB1C,SAArB,EAAgCsB,QAAhC,EAA0Cf,KAA1C,CAPwB,CAA1B;EAUA,MAAMyC,SAAS,GAAG,IAAAlC,cAAA,EAAQ,MAAM,IAAAmC,aAAA,EAAKxB,aAAL,CAAd,EAAmC,CAACA,aAAD,CAAnC,CAAlB;EAEA,MAAMyB,WAAW,GAAG,IAAApC,cAAA,EAAQ,MAAMkC,SAAS,IAAI,EAA3B,EAA+B,CAACA,SAAD,CAA/B,CAApB;EAEA,oBACE;IACE,SAAS,EAAE,IAAAF,mBAAA,EACTD,iBADS,EAETtC,KAAK,KAAK,cAAV,GAA2BtB,cAAA,CAAMS,YAAjC,GAAgD,IAFvC;EADb,gBAME;IACE,aAAU,gBADZ;IAEE,KAAK,eACCyC,sBAAsB,IAAI;MAC5BD;IAD4B,CAD3B,CAFP;IAOE,SAAS,EAAEjD,cAAA,CAAMkE;EAPnB,GASG9B,SATH,eAUE;IACE,aAAU,aADZ;IAEE,SAAS,EAAE,IAAAyB,mBAAA,EACT7D,cAAA,CAAMmE,UADG,EAET,IAAAhB,iBAAA,EAAS7B,KAAT,EAAgB,CAAC,QAAD,EAAW,SAAX,EAAsB,UAAtB,EAAkC,aAAlC,EAAiD,UAAjD,CAAhB,IACItB,cAAA,CAAMoE,aADV,GAEI,IAJK,EAKTpD,eALS,EAMTiD,WAAW,GAAGjE,cAAA,CAAMqE,SAAT,GAAqB,IANvB,CAFb;IAUE,KAAK,eACCnB,sBAAsB,IAAI;MAC5BD;IAD4B,CAD3B;EAVP,GAgBGT,aAhBH,CAVF,EA4BGc,SA5BH,eA6BE;IACE,aAAU,eADZ;IAEE,SAAS,EAAEtD,cAAA,CAAMsE,SAFnB;IAGE,KAAK,EAAE9B,aAHT;IAIE,IAAI,EAAE3B,IAJR;IAKE,QAAQ,EAAE+B,YALZ;IAME,KAAK,EAAEP,QANT;IAOE,QAAQ,EAAEnB,QAPZ;IAQE,QAAQ,EAAEC;EARZ,GAUGW,UAVH,CA7BF,CANF,eAgDE;IAAK,SAAS,EAAE9B,cAAA,CAAMqB;EAAtB,GAAoCA,WAApC,CAhDF,CADF;AAoDD,CA1JD;;AA4JO,MAAMkD,qBAAqB,GAAG;EACnC1D,IAAI,EAAE2D,kBAAA,CAAUC,MAAV,CAAiBC,UADY;EAEnCxC,KAAK,EAAEsC,kBAAA,CAAUG,SAAV,CAAoB,CAACH,kBAAA,CAAUC,MAAX,EAAmBD,kBAAA,CAAUI,MAA7B,CAApB,CAF4B;EAGnCvC,QAAQ,EAAEmC,kBAAA,CAAUK,IAHe;EAInClC,WAAW,EAAE6B,kBAAA,CAAUK;AAJY,CAA9B;;AAOPnE,MAAM,CAACoE,YAAP,GAAsB;EACpBnD,IAAI,EAAEoD,iBAAA,CAASC,iBAAT,CAA2BrD;AADb,CAAtB;AAIAjB,MAAM,CAACuE,SAAP,2CAAmB;EACjBxD,KAAK,EAAE+C,kBAAA,CAAUC,MADA;EAEjB5D,IAAI,EAAE2D,kBAAA,CAAUC,MAFC;EAGjB1D,SAAS,EAAEyD,kBAAA,CAAUC,MAHJ;EAIjBzD,eAAe,EAAEwD,kBAAA,CAAUC,MAJV;EAKjBtD,QAAQ,EAAEqD,kBAAA,CAAUK,IALH;EAMjB3D,QAAQ,EAAEsD,kBAAA,CAAUK,IANH;EAOjBxD,WAAW,EAAEmD,kBAAA,CAAUC,MAPN;EAQjBrD,QAAQ,EAAEoD,kBAAA,CAAUK,IARH;EASjB5D,QAAQ,EAAEuD,kBAAA,CAAUU,IATH;EAUjB5D,KAAK,EAAEkD,kBAAA,CAAUW,KAAV,CAAgB,IAAAC,aAAA,EAAKtF,UAAL,CAAhB,CAVU;EAWjBgB,OAAO,EAAE0D,kBAAA,CAAUa,OAAV,CAAkBb,kBAAA,CAAUc,KAAV,CAAgBf,qBAAhB,CAAlB,CAXQ;EAYjBhD,QAAQ,EAAEiD,kBAAA,CAAUK,IAZH;EAajBrD,KAAK,EAAEgD,kBAAA,CAAUK;AAbA,CAAnB;eAgBenE,M"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["themeStyle","filter","style","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","Select","props","legacyContext","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","skin","GetSkinFromContext","useMemo","optionList","map","option","index","value","selectOption","titleView","selected","get","find","selectedLabel","isSelectedInValidOption","getOr","validOption","handleChange","e","target","selectedOptions","black","color","shouldUseSkinFontColor","includes","arrowColor","undefined","arrowView","selectedArrow","arrow","behaviourClassName","getClassState","default","composedClassName","classnames","unselected","labelSize","size","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectBox","SelectOptionPropTypes","PropTypes","string","isRequired","oneOfType","number","bool","contextTypes","Provider","childContextTypes","propTypes","func","oneOf","keys","arrayOf","shape"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const optionList =\n options &&\n options.map((option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title} </span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, options)),\n [multiple, options]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, options)),\n [multiple, options]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const shouldUseSkinFontColor = useMemo(\n () =>\n !isSelectedInValidOption && selected && includes(theme, ['question', 'template', 'player']),\n [isSelectedInValidOption, selected, theme]\n );\n const arrowColor = selected ? color : undefined;\n\n const arrowView = !multiple ? (\n <ArrowDown\n color={includes(theme, ['question', 'template', 'player']) ? arrowColor : black}\n className={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n />\n ) : null;\n const behaviourClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviourClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviourClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <label\n data-name=\"select-wrapper\"\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n {arrowView}\n <select\n data-name=\"native-select\"\n className={style.selectBox}\n title={selectedLabel}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool\n};\n\nexport default Select;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,UAAU,GAAG;EACjBC,MAAM,EAAEC,cAAA,CAAMD,MADG;EAEjBE,OAAO,EAAED,cAAA,CAAMC,OAFE;EAGjBC,MAAM,EAAEF,cAAA,CAAME,MAHG;EAIjBC,IAAI,EAAEH,cAAA,CAAMG,IAJK;EAKjBC,QAAQ,EAAEJ,cAAA,CAAMI,QALC;EAMjBC,IAAI,EAAEL,cAAA,CAAMK,IANK;EAOjBC,WAAW,EAAEN,cAAA,CAAMM,WAPF;EAQjBC,MAAM,EAAEP,cAAA,CAAMO,MARG;EASjBC,QAAQ,EAAER,cAAA,CAAMQ,QATC;EAUjBC,YAAY,EAAE;AAVG,CAAnB;;AAaA,MAAMC,MAAM,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACvC,MAAM;IACJC,IADI;IAEJC,OAAO,GAAG,EAFN;IAGJC,SAHI;IAIJC,eAJI;IAKJC,QALI;IAMJC,QAAQ,GAAG,KANP;IAOJC,QAPI;IAQJC,QARI;IASJC,WATI;IAUJC,KAVI;IAWJC,QAAQ,GAAG,KAXP;IAYJC,KAAK,GAAG,KAZJ;IAaJC,KAAK,EAAEC;EAbH,IAcFf,KAdJ;EAgBA,MAAMgB,IAAI,GAAG,IAAAC,4BAAA,EAAmBhB,aAAnB,CAAb;EACA,MAAMa,KAAK,GAAG,IAAAI,cAAA,EACZ,MAAOH,SAAS,GAAI,GAAEA,SAAU,GAAEN,QAAQ,GAAG,GAAH,GAAS,EAAG,EAAtC,GAA0C,IAD9C,EAEZ,CAACM,SAAD,EAAYN,QAAZ,CAFY,CAAd;EAKA,MAAMU,UAAU,GACdhB,OAAO,IACPA,OAAO,CAACiB,GAAR,CAAY,CAACC,MAAD,EAASC,KAAT,KAAmB;IAC7B,oBACE;MAAQ,GAAG,EAAEA,KAAb;MAAoB,KAAK,EAAED,MAAM,CAACE,KAAlC;MAAyC,SAAS,EAAElC,cAAA,CAAMmC;IAA1D,GACGH,MAAM,CAACnB,IADV,CADF;EAKD,CAND,CAFF;EAUA,MAAMuB,SAAS,GAAGX,KAAK,gBAAG;IAAM,SAAS,EAAEzB,cAAA,CAAMyB;EAAvB,GAA+BA,KAA/B,MAAH,GAAmD,IAA1E;EAEA,MAAMY,QAAQ,GAAG,IAAAR,cAAA,EACf,MACEX,QAAQ,GACJ,IAAAa,YAAA,EAAI,IAAAO,YAAA,EAAI,OAAJ,CAAJ,EAAkB,IAAAvC,eAAA,EAAO;IAACsC,QAAQ,EAAE;EAAX,CAAP,EAAyBvB,OAAzB,CAAlB,CADI,GAEJ,IAAAwB,YAAA,EAAI,OAAJ,EAAa,IAAAC,aAAA,EAAK;IAACF,QAAQ,EAAE;EAAX,CAAL,EAAuBvB,OAAvB,CAAb,CAJS,EAKf,CAACI,QAAD,EAAWJ,OAAX,CALe,CAAjB;EAOA,MAAM0B,aAAa,GAAG,IAAAX,cAAA,EACpB,MACEX,QAAQ,GACJ,IAAAa,YAAA,EAAI,IAAAO,YAAA,EAAI,MAAJ,CAAJ,EAAiB,IAAAvC,eAAA,EAAO;IAACsC,QAAQ,EAAE;EAAX,CAAP,EAAyBvB,OAAzB,CAAjB,CADI,GAEJ,IAAAwB,YAAA,EAAI,MAAJ,EAAY,IAAAC,aAAA,EAAK;IAACF,QAAQ,EAAE;EAAX,CAAL,EAAuBvB,OAAvB,CAAZ,CAJc,EAKpB,CAACI,QAAD,EAAWJ,OAAX,CALoB,CAAtB;EAQA,MAAM2B,uBAAuB,GAAG,IAAAZ,cAAA,EAC9B,MACEP,KAAK,KAAK,QAAV,IACA,IAAAoB,cAAA,EAAM,KAAN,EAAa,MAAb,EAAqB,IAAAH,aAAA,EAAK;IAACI,WAAW,EAAE,KAAd;IAAqBN,QAAQ,EAAE;EAA/B,CAAL,EAA2CvB,OAA3C,CAArB,CAH4B,EAI9B,CAACA,OAAD,EAAUQ,KAAV,CAJ8B,CAAhC;EAOA,MAAMsB,YAAY,GAAG,IAAAf,cAAA,EACnB,MACEX,QAAQ,GACJ2B,CAAC,IAAI;IACH5B,QAAQ,CAAC,IAAAc,YAAA,EAAI,IAAAO,YAAA,EAAI,OAAJ,CAAJ,EAAkBO,CAAC,CAACC,MAAF,CAASC,eAA3B,CAAD,CAAR;EACD,CAHG,GAIJF,CAAC,IAAI;IACH5B,QAAQ,CAAC4B,CAAC,CAACC,MAAF,CAASZ,KAAV,CAAR;EACD,CARY,EASnB,CAACjB,QAAD,EAAWC,QAAX,CATmB,CAArB;EAYA,MAAM8B,KAAK,GAAG,IAAAnB,cAAA,EAAQ,MAAM,IAAAa,cAAA,EAAM,SAAN,EAAiB,cAAjB,EAAiCf,IAAjC,CAAd,EAAsD,CAACA,IAAD,CAAtD,CAAd;EACA,MAAMsB,KAAK,GAAG,IAAApB,cAAA,EAAQ,MAAM,IAAAa,cAAA,EAAM,SAAN,EAAiB,gBAAjB,EAAmCf,IAAnC,CAAd,EAAwD,CAACA,IAAD,CAAxD,CAAd;EACA,MAAMuB,sBAAsB,GAAG,IAAArB,cAAA,EAC7B,MACE,CAACY,uBAAD,IAA4BJ,QAA5B,IAAwC,IAAAc,iBAAA,EAAS7B,KAAT,EAAgB,CAAC,UAAD,EAAa,UAAb,EAAyB,QAAzB,CAAhB,CAFb,EAG7B,CAACmB,uBAAD,EAA0BJ,QAA1B,EAAoCf,KAApC,CAH6B,CAA/B;EAKA,MAAM8B,UAAU,GAAGf,QAAQ,GAAGY,KAAH,GAAWI,SAAtC;EAEA,MAAMC,SAAS,GAAG,CAACpC,QAAD,gBAChB,6BAAC,6CAAD;IACE,KAAK,EAAE,IAAAiC,iBAAA,EAAS7B,KAAT,EAAgB,CAAC,UAAD,EAAa,UAAb,EAAyB,QAAzB,CAAhB,IAAsD8B,UAAtD,GAAmEJ,KAD5E;IAEE,SAAS,EAAEE,sBAAsB,GAAGlD,cAAA,CAAMuD,aAAT,GAAyBvD,cAAA,CAAMwD;EAFlE,EADgB,GAKd,IALJ;EAMA,MAAMC,kBAAkB,GAAG,IAAA5B,cAAA,EACzB,MAAM,IAAA6B,sBAAA,EAAc1D,cAAA,CAAM2D,OAApB,EAA6B3D,cAAA,CAAMuB,QAAnC,EAA6CvB,cAAA,CAAMwB,KAAnD,EAA0DD,QAA1D,EAAoEC,KAApE,CADmB,EAEzB,CAACA,KAAD,EAAQD,QAAR,CAFyB,CAA3B;EAIA,MAAMqC,iBAAiB,GAAG,IAAA/B,cAAA,EACxB,MACE,IAAAgC,mBAAA,EACEvC,KAAK,IAAIA,KAAK,KAAK,cAAnB,GAAoCxB,UAAU,CAACwB,KAAD,CAA9C,GAAwDmC,kBAD1D,EAEEpB,QAAQ,GAAGrC,cAAA,CAAMqC,QAAT,GAAoBrC,cAAA,CAAM8D,UAFpC,EAGE/C,SAHF,CAFsB,EAOxB,CAAC0C,kBAAD,EAAqB1C,SAArB,EAAgCsB,QAAhC,EAA0Cf,KAA1C,CAPwB,CAA1B;EAUA,MAAMyC,SAAS,GAAG,IAAAlC,cAAA,EAAQ,MAAM,IAAAmC,aAAA,EAAKxB,aAAL,CAAd,EAAmC,CAACA,aAAD,CAAnC,CAAlB;EAEA,MAAMyB,WAAW,GAAG,IAAApC,cAAA,EAAQ,MAAMkC,SAAS,IAAI,EAA3B,EAA+B,CAACA,SAAD,CAA/B,CAApB;EAEA,oBACE;IACE,SAAS,EAAE,IAAAF,mBAAA,EACTD,iBADS,EAETtC,KAAK,KAAK,cAAV,GAA2BtB,cAAA,CAAMS,YAAjC,GAAgD,IAFvC;EADb,gBAME;IACE,aAAU,gBADZ;IAEE,KAAK,eACCyC,sBAAsB,IAAI;MAC5BD;IAD4B,CAD3B,CAFP;IAOE,SAAS,EAAEjD,cAAA,CAAMkE;EAPnB,GASG9B,SATH,eAUE;IACE,aAAU,aADZ;IAEE,SAAS,EAAE,IAAAyB,mBAAA,EACT7D,cAAA,CAAMmE,UADG,EAET,IAAAhB,iBAAA,EAAS7B,KAAT,EAAgB,CAAC,QAAD,EAAW,SAAX,EAAsB,UAAtB,EAAkC,aAAlC,EAAiD,UAAjD,CAAhB,IACItB,cAAA,CAAMoE,aADV,GAEI,IAJK,EAKTpD,eALS,EAMTiD,WAAW,GAAGjE,cAAA,CAAMqE,SAAT,GAAqB,IANvB,CAFb;IAUE,KAAK,eACCnB,sBAAsB,IAAI;MAC5BD;IAD4B,CAD3B;EAVP,GAgBGT,aAhBH,CAVF,EA4BGc,SA5BH,eA6BE;IACE,aAAU,eADZ;IAEE,SAAS,EAAEtD,cAAA,CAAMsE,SAFnB;IAGE,KAAK,EAAE9B,aAHT;IAIE,IAAI,EAAE3B,IAJR;IAKE,QAAQ,EAAE+B,YALZ;IAME,KAAK,EAAEP,QANT;IAOE,QAAQ,EAAEnB,QAPZ;IAQE,QAAQ,EAAEC;EARZ,GAUGW,UAVH,CA7BF,CANF,eAgDE;IAAK,SAAS,EAAE9B,cAAA,CAAMqB;EAAtB,GAAoCA,WAApC,CAhDF,CADF;AAoDD,CA1JD;;AA4JO,MAAMkD,qBAAqB,GAAG;EACnC1D,IAAI,EAAE2D,kBAAA,CAAUC,MAAV,CAAiBC,UADY;EAEnCxC,KAAK,EAAEsC,kBAAA,CAAUG,SAAV,CAAoB,CAACH,kBAAA,CAAUC,MAAX,EAAmBD,kBAAA,CAAUI,MAA7B,CAApB,CAF4B;EAGnCvC,QAAQ,EAAEmC,kBAAA,CAAUK,IAHe;EAInClC,WAAW,EAAE6B,kBAAA,CAAUK;AAJY,CAA9B;;AAOPnE,MAAM,CAACoE,YAAP,GAAsB;EACpBnD,IAAI,EAAEoD,iBAAA,CAASC,iBAAT,CAA2BrD;AADb,CAAtB;AAIAjB,MAAM,CAACuE,SAAP,2CAAmB;EACjBxD,KAAK,EAAE+C,kBAAA,CAAUC,MADA;EAEjB5D,IAAI,EAAE2D,kBAAA,CAAUC,MAFC;EAGjB1D,SAAS,EAAEyD,kBAAA,CAAUC,MAHJ;EAIjBzD,eAAe,EAAEwD,kBAAA,CAAUC,MAJV;EAKjBtD,QAAQ,EAAEqD,kBAAA,CAAUK,IALH;EAMjB3D,QAAQ,EAAEsD,kBAAA,CAAUK,IANH;EAOjBxD,WAAW,EAAEmD,kBAAA,CAAUC,MAPN;EAQjBrD,QAAQ,EAAEoD,kBAAA,CAAUK,IARH;EASjB5D,QAAQ,EAAEuD,kBAAA,CAAUU,IATH;EAUjB5D,KAAK,EAAEkD,kBAAA,CAAUW,KAAV,CAAgB,IAAAC,aAAA,EAAKtF,UAAL,CAAhB,CAVU;EAWjBgB,OAAO,EAAE0D,kBAAA,CAAUa,OAAV,CAAkBb,kBAAA,CAAUc,KAAV,CAAgBf,qBAAhB,CAAlB,CAXQ;EAYjBhD,QAAQ,EAAEiD,kBAAA,CAAUK,IAZH;EAajBrD,KAAK,EAAEgD,kBAAA,CAAUK;AAbA,CAAnB;eAgBenE,M"}
|
|
@@ -99,10 +99,10 @@ const Select = props => {
|
|
|
99
99
|
|
|
100
100
|
const selectedItem = values.find(item => item.selected);
|
|
101
101
|
const text = selectedItem && selectedItem.text || placeholder || null;
|
|
102
|
-
|
|
102
|
+
let textStyles = [styleSheet.text];
|
|
103
103
|
|
|
104
104
|
if (textStyle) {
|
|
105
|
-
textStyles.
|
|
105
|
+
textStyles = [styleSheet.text, ...textStyle];
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
if (color) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["ICON_WIDTH","createStyleSheet","theme","StyleSheet","create","container","alignItems","flexDirection","text","flex","color","colors","gray","medium","textAlign","logEvent","eventName","analyticsID","analytics","questionType","id","Select","props","templateContext","useTemplateContext","styleSheet","setStylesheet","useState","useEffect","_stylesheet","onBlur","onFocus","onChange","values","placeholder","value","style","textStyle","isFocused","isDisabled","testID","handleFocus","useCallback","ANALYTICS_EVENT_TYPE","OPEN_SELECT","handleBlur","CLOSE_SELECT","handleChange","_value","selectedItem","find","item","selected","textStyles","push","dark"],"sources":["../../../src/atom/select-modal/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle} from 'react-native';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Modal from 'react-native-modal';\nimport Touchable from '../../hoc/touchable/index.native';\nimport type {QuestionType} from '../../molecule/questions/types';\nimport {Theme} from '../../variables/theme.native';\n\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../variables/analytics';\nimport Space from '../space/index.native';\nimport Text from '../text/index.native';\nimport ModalSelect, {OnChangeFunction} from '../../hoc/modal/select/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type ChoiceItem = {\n text: string;\n selected: boolean;\n _id: string;\n};\n\nexport type Props = {\n analyticsID: string;\n questionType: QuestionType;\n isDisabled?: boolean;\n isFocused?: boolean;\n values: Array<ChoiceItem>;\n value?: string;\n placeholder?: string;\n color?: string;\n onChange: OnChangeFunction;\n onFocus: () => void;\n onBlur: () => void;\n style?: ViewStyle[];\n textStyle?: ViewStyle;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n text: ViewStyle;\n};\n\nconst ICON_WIDTH = 15;\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row'\n },\n text: {\n flex: 1,\n color: theme.colors.gray.medium,\n textAlign: 'center'\n }\n });\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n questionType: QuestionType\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: analyticsID,\n questionType\n });\n};\n\nconst Select = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme, analytics} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const {\n analyticsID,\n onBlur,\n onFocus,\n onChange,\n values,\n placeholder,\n value,\n style,\n textStyle,\n color,\n questionType,\n isFocused = false,\n isDisabled = false,\n testID = 'select'\n } = props;\n\n const handleFocus = useCallback(() => {\n if (!onFocus) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.OPEN_SELECT, analyticsID, analytics, questionType);\n onFocus();\n }, [analytics, analyticsID, onFocus, questionType]);\n\n const handleBlur = useCallback(() => {\n if (!onBlur) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.CLOSE_SELECT, analyticsID, analytics, questionType);\n onBlur();\n }, [analytics, analyticsID, onBlur, questionType]);\n\n const handleChange = useCallback(\n _value => {\n onChange(_value);\n handleBlur();\n },\n [onChange, handleBlur]\n );\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedItem = values.find(item => item.selected);\n const text = (selectedItem && selectedItem.text) || placeholder || null;\n
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["ICON_WIDTH","createStyleSheet","theme","StyleSheet","create","container","alignItems","flexDirection","text","flex","color","colors","gray","medium","textAlign","logEvent","eventName","analyticsID","analytics","questionType","id","Select","props","templateContext","useTemplateContext","styleSheet","setStylesheet","useState","useEffect","_stylesheet","onBlur","onFocus","onChange","values","placeholder","value","style","textStyle","isFocused","isDisabled","testID","handleFocus","useCallback","ANALYTICS_EVENT_TYPE","OPEN_SELECT","handleBlur","CLOSE_SELECT","handleChange","_value","selectedItem","find","item","selected","textStyles","push","dark"],"sources":["../../../src/atom/select-modal/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle} from 'react-native';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Modal from 'react-native-modal';\nimport Touchable from '../../hoc/touchable/index.native';\nimport type {QuestionType} from '../../molecule/questions/types';\nimport {Theme} from '../../variables/theme.native';\n\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../variables/analytics';\nimport Space from '../space/index.native';\nimport Text from '../text/index.native';\nimport ModalSelect, {OnChangeFunction} from '../../hoc/modal/select/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type ChoiceItem = {\n text: string;\n selected: boolean;\n _id: string;\n};\n\nexport type Props = {\n analyticsID: string;\n questionType: QuestionType;\n isDisabled?: boolean;\n isFocused?: boolean;\n values: Array<ChoiceItem>;\n value?: string;\n placeholder?: string;\n color?: string;\n onChange: OnChangeFunction;\n onFocus: () => void;\n onBlur: () => void;\n style?: ViewStyle[];\n textStyle?: ViewStyle[];\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n text: ViewStyle;\n};\n\nconst ICON_WIDTH = 15;\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row'\n },\n text: {\n flex: 1,\n color: theme.colors.gray.medium,\n textAlign: 'center'\n }\n });\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n questionType: QuestionType\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: analyticsID,\n questionType\n });\n};\n\nconst Select = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme, analytics} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const {\n analyticsID,\n onBlur,\n onFocus,\n onChange,\n values,\n placeholder,\n value,\n style,\n textStyle,\n color,\n questionType,\n isFocused = false,\n isDisabled = false,\n testID = 'select'\n } = props;\n\n const handleFocus = useCallback(() => {\n if (!onFocus) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.OPEN_SELECT, analyticsID, analytics, questionType);\n onFocus();\n }, [analytics, analyticsID, onFocus, questionType]);\n\n const handleBlur = useCallback(() => {\n if (!onBlur) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.CLOSE_SELECT, analyticsID, analytics, questionType);\n onBlur();\n }, [analytics, analyticsID, onBlur, questionType]);\n\n const handleChange = useCallback(\n _value => {\n onChange(_value);\n handleBlur();\n },\n [onChange, handleBlur]\n );\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedItem = values.find(item => item.selected);\n const text = (selectedItem && selectedItem.text) || placeholder || null;\n let textStyles: TextStyle[] = [styleSheet.text];\n\n if (textStyle) {\n textStyles = [styleSheet.text, ...textStyle];\n }\n if (color) {\n textStyles.push({color});\n }\n\n return (\n <>\n <Touchable\n disabled={isDisabled}\n onPress={handleFocus}\n analyticsID={analyticsID}\n testID={`${testID}-input`}\n >\n <View style={[styleSheet.container, style]}>\n <Text style={textStyles}>{text}</Text>\n <Space type=\"tiny\" />\n <ArrowDown\n color={color || theme.colors.gray.dark}\n height={ICON_WIDTH}\n width={ICON_WIDTH}\n />\n </View>\n </Touchable>\n <Modal\n isVisible={isFocused}\n onSwipeComplete={handleBlur}\n onBackdropPress={handleBlur}\n testID={testID}\n >\n <ModalSelect\n value={value}\n values={values}\n onChange={handleChange}\n onClose={handleBlur}\n testID={`${testID}-modal`}\n />\n </Modal>\n </>\n );\n};\n\nexport default Select;\n"],"mappings":"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"}
|
|
@@ -42,8 +42,9 @@ const AddToMyListStatusProvider = ({
|
|
|
42
42
|
|
|
43
43
|
return () => clearTimeout(timeoutId);
|
|
44
44
|
}, [status]);
|
|
45
|
+
const statusValue = (0, _react.useMemo)(() => [status, setStatus], [status, setStatus]);
|
|
45
46
|
return /*#__PURE__*/_react.default.createElement(StatusContext.Provider, {
|
|
46
|
-
value:
|
|
47
|
+
value: statusValue
|
|
47
48
|
}, children);
|
|
48
49
|
};
|
|
49
50
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","React","createContext","AddToMyListStatusProvider","children","status","setStatus","useState","useEffect","timeoutId","DURATION","setTimeout","clearTimeout","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","useContext","classnames","styles","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","PropTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n return <StatusContext.Provider value={
|
|
1
|
+
{"version":3,"file":"index.js","names":["ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","React","createContext","AddToMyListStatusProvider","children","status","setStatus","useState","useEffect","timeoutId","DURATION","setTimeout","clearTimeout","statusValue","useMemo","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","useContext","classnames","styles","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","PropTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n const statusValue = useMemo(() => [status, setStatus], [status, setStatus]);\n return <StatusContext.Provider value={statusValue}>{children}</StatusContext.Provider>;\n};\n\nexport const AddToMyListFeedback = ({addToMyListText, removeFromMyListText, favorite}) => {\n const [status] = useContext(StatusContext);\n if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;\n\n return (\n <div className={classnames(styles.feedback)} data-name={'add-to-my-list-feedback'}>\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n <p>{favorite ? addToMyListText : removeFromMyListText}</p>\n </div>\n );\n};\n\nconst AddToMyList = ({style, addToMyListButton, favorite, onFavoriteClick}) => {\n const [, setStatus] = useContext(StatusContext);\n const cb = () => setStatus(ADD_TO_MY_LIST_STATUS.SUCCESS);\n\n function onClick() {\n onFavoriteClick(cb);\n }\n\n return (\n <div className={(styles.container, style)}>\n <Link data-name={'add-to-my-list-button'} onClick={onClick} className={styles.cta}>\n <div className={styles.wrapper}>\n {favorite ? (\n <CheckIcon className={styles.shareIcon} width={15} height={15} />\n ) : (\n <MoreIcon className={styles.shareIcon} width={12} height={12} />\n )}\n <p>{addToMyListButton}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nAddToMyListStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nAddToMyListFeedback.propTypes = {\n addToMyListText: PropTypes.string,\n removeFromMyListText: PropTypes.string,\n favorite: PropTypes.bool\n};\n\nAddToMyList.propTypes = {\n style: PropTypes.string,\n addToMyListButton: PropTypes.string,\n favorite: PropTypes.bool,\n onFavoriteClick: PropTypes.func\n};\n\nexport default AddToMyList;\n"],"mappings":"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"}
|
|
@@ -15,7 +15,11 @@ var _style = _interopRequireDefault(require("./style.css"));
|
|
|
15
15
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
|
|
18
|
-
const
|
|
18
|
+
const Tab = ({
|
|
19
|
+
tab,
|
|
20
|
+
index,
|
|
21
|
+
isLightTab
|
|
22
|
+
}) => {
|
|
19
23
|
const {
|
|
20
24
|
title,
|
|
21
25
|
href,
|
|
@@ -35,25 +39,35 @@ const buildTab = isLightTab => (tab, index) => {
|
|
|
35
39
|
}, title));
|
|
36
40
|
};
|
|
37
41
|
|
|
42
|
+
Tab.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
43
|
+
tab: _propTypes.default.shape({
|
|
44
|
+
title: _link.default.propTypes.children,
|
|
45
|
+
href: _link.default.propTypes.href,
|
|
46
|
+
selected: _propTypes.default.bool,
|
|
47
|
+
onClick: _propTypes.default.func
|
|
48
|
+
}),
|
|
49
|
+
index: _propTypes.default.number,
|
|
50
|
+
isLightTab: _propTypes.default.bool
|
|
51
|
+
} : {};
|
|
52
|
+
|
|
38
53
|
const BrandTabs = props => {
|
|
39
54
|
const {
|
|
40
55
|
tabs,
|
|
41
56
|
type = 'default'
|
|
42
57
|
} = props;
|
|
43
58
|
const isLightTab = type === 'light';
|
|
44
|
-
const tabsList = tabs.map(
|
|
59
|
+
const tabsList = tabs.map((tab, index) => Tab({
|
|
60
|
+
tab,
|
|
61
|
+
index,
|
|
62
|
+
isLightTab
|
|
63
|
+
}));
|
|
45
64
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
46
65
|
className: isLightTab ? _style.default.lightwrapper : _style.default.wrapper
|
|
47
66
|
}, tabsList);
|
|
48
67
|
};
|
|
49
68
|
|
|
50
69
|
BrandTabs.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
51
|
-
tabs: _propTypes.default.arrayOf(_propTypes.default.shape(
|
|
52
|
-
title: _link.default.propTypes.children,
|
|
53
|
-
href: _link.default.propTypes.href,
|
|
54
|
-
selected: _propTypes.default.bool,
|
|
55
|
-
onClick: _propTypes.default.func
|
|
56
|
-
})),
|
|
70
|
+
tabs: _propTypes.default.arrayOf(_propTypes.default.shape(Tab.propTypes)),
|
|
57
71
|
type: _propTypes.default.oneOf(['default', 'light'])
|
|
58
72
|
} : {};
|
|
59
73
|
var _default = BrandTabs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["Tab","tab","index","isLightTab","title","href","selected","onClick","selectedStyle","style","selectedlight","unselectedStyle","lighttab","className","propTypes","PropTypes","shape","Link","children","bool","func","number","BrandTabs","props","tabs","type","tabsList","map","lightwrapper","wrapper","arrayOf","oneOf"],"sources":["../../../src/molecule/brand-tabs/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {snakeCase} from 'lodash/fp';\nimport Link from '../../atom/link';\nimport style from './style.css';\n\nconst Tab = ({tab, index, isLightTab}) => {\n const {title, href, selected, onClick} = tab;\n const selectedStyle = isLightTab ? style.selectedlight : style.selected;\n const unselectedStyle = isLightTab ? style.lighttab : style.tab;\n const className = selected ? selectedStyle : unselectedStyle;\n\n return (\n <div\n data-name={`brand_tab_${snakeCase(title)}`}\n className={className}\n key={index}\n onClick={onClick}\n >\n <Link href={href}>{title}</Link>\n </div>\n );\n};\nTab.propTypes = {\n tab: PropTypes.shape({\n title: Link.propTypes.children,\n href: Link.propTypes.href,\n selected: PropTypes.bool,\n onClick: PropTypes.func\n }),\n index: PropTypes.number,\n isLightTab: PropTypes.bool\n};\n\nconst BrandTabs = props => {\n const {tabs, type = 'default'} = props;\n const isLightTab = type === 'light';\n const tabsList = tabs.map((tab, index) => Tab({tab, index, isLightTab}));\n\n return <div className={isLightTab ? style.lightwrapper : style.wrapper}>{tabsList}</div>;\n};\n\nBrandTabs.propTypes = {\n tabs: PropTypes.arrayOf(PropTypes.shape(Tab.propTypes)),\n type: PropTypes.oneOf(['default', 'light'])\n};\nexport default BrandTabs;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;AAEA,MAAMA,GAAG,GAAG,CAAC;EAACC,GAAD;EAAMC,KAAN;EAAaC;AAAb,CAAD,KAA8B;EACxC,MAAM;IAACC,KAAD;IAAQC,IAAR;IAAcC,QAAd;IAAwBC;EAAxB,IAAmCN,GAAzC;EACA,MAAMO,aAAa,GAAGL,UAAU,GAAGM,cAAA,CAAMC,aAAT,GAAyBD,cAAA,CAAMH,QAA/D;EACA,MAAMK,eAAe,GAAGR,UAAU,GAAGM,cAAA,CAAMG,QAAT,GAAoBH,cAAA,CAAMR,GAA5D;EACA,MAAMY,SAAS,GAAGP,QAAQ,GAAGE,aAAH,GAAmBG,eAA7C;EAEA,oBACE;IACE,aAAY,aAAY,yBAAUP,KAAV,CAAiB,EAD3C;IAEE,SAAS,EAAES,SAFb;IAGE,GAAG,EAAEX,KAHP;IAIE,OAAO,EAAEK;EAJX,gBAME,6BAAC,aAAD;IAAM,IAAI,EAAEF;EAAZ,GAAmBD,KAAnB,CANF,CADF;AAUD,CAhBD;;AAiBAJ,GAAG,CAACc,SAAJ,2CAAgB;EACdb,GAAG,EAAEc,kBAAA,CAAUC,KAAV,CAAgB;IACnBZ,KAAK,EAAEa,aAAA,CAAKH,SAAL,CAAeI,QADH;IAEnBb,IAAI,EAAEY,aAAA,CAAKH,SAAL,CAAeT,IAFF;IAGnBC,QAAQ,EAAES,kBAAA,CAAUI,IAHD;IAInBZ,OAAO,EAAEQ,kBAAA,CAAUK;EAJA,CAAhB,CADS;EAOdlB,KAAK,EAAEa,kBAAA,CAAUM,MAPH;EAQdlB,UAAU,EAAEY,kBAAA,CAAUI;AARR,CAAhB;;AAWA,MAAMG,SAAS,GAAGC,KAAK,IAAI;EACzB,MAAM;IAACC,IAAD;IAAOC,IAAI,GAAG;EAAd,IAA2BF,KAAjC;EACA,MAAMpB,UAAU,GAAGsB,IAAI,KAAK,OAA5B;EACA,MAAMC,QAAQ,GAAGF,IAAI,CAACG,GAAL,CAAS,CAAC1B,GAAD,EAAMC,KAAN,KAAgBF,GAAG,CAAC;IAACC,GAAD;IAAMC,KAAN;IAAaC;EAAb,CAAD,CAA5B,CAAjB;EAEA,oBAAO;IAAK,SAAS,EAAEA,UAAU,GAAGM,cAAA,CAAMmB,YAAT,GAAwBnB,cAAA,CAAMoB;EAAxD,GAAkEH,QAAlE,CAAP;AACD,CAND;;AAQAJ,SAAS,CAACR,SAAV,2CAAsB;EACpBU,IAAI,EAAET,kBAAA,CAAUe,OAAV,CAAkBf,kBAAA,CAAUC,KAAV,CAAgBhB,GAAG,CAACc,SAApB,CAAlB,CADc;EAEpBW,IAAI,EAAEV,kBAAA,CAAUgB,KAAV,CAAgB,CAAC,SAAD,EAAY,OAAZ,CAAhB;AAFc,CAAtB;eAIeT,S"}
|