@coorpacademy/components 11.10.3-alpha.0 → 11.10.4-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/input-switch/index.js +2 -1
- package/es/atom/input-switch/index.js.map +1 -1
- package/es/atom/link/index.d.ts +7 -15
- package/es/atom/link/index.d.ts.map +1 -1
- package/es/atom/link/index.js +71 -97
- package/es/atom/link/index.js.map +1 -1
- package/es/atom/provider/web-context.d.ts +2 -2
- package/es/atom/provider/web-context.d.ts.map +1 -1
- package/es/atom/provider/web-context.js +1 -4
- package/es/atom/provider/web-context.js.map +1 -1
- package/es/atom/review-header-step-item/index.d.ts.map +1 -1
- package/es/atom/review-header-step-item/index.js +8 -3
- package/es/atom/review-header-step-item/index.js.map +1 -1
- package/es/atom/tooltip/index.d.ts +7 -1
- package/es/atom/tooltip/index.d.ts.map +1 -1
- package/es/atom/tooltip/index.js +39 -14
- package/es/atom/tooltip/index.js.map +1 -1
- package/es/atom/tooltip/style.css +9 -0
- package/es/molecule/answer/index.d.ts +3 -0
- package/es/molecule/answer/index.d.ts.map +1 -1
- package/es/molecule/answer/index.js +9 -3
- package/es/molecule/answer/index.js.map +1 -1
- package/es/organism/mooc-header/style.css +2 -1
- package/es/organism/review-header/index.d.ts +23 -0
- package/es/organism/review-header/index.d.ts.map +1 -1
- package/es/organism/review-header/index.js +4 -0
- package/es/organism/review-header/index.js.map +1 -1
- package/es/organism/user-preferences/index.d.ts.map +1 -1
- package/es/organism/user-preferences/index.js +20 -19
- package/es/organism/user-preferences/index.js.map +1 -1
- package/es/organism/user-preferences/style.css +5 -56
- package/es/organism/wizard-contents/index.d.ts +2 -2
- package/es/organism/wizard-contents/index.d.ts.map +1 -1
- package/es/organism/wizard-contents/index.js +32 -13
- package/es/organism/wizard-contents/index.js.map +1 -1
- package/es/organism/wizard-contents/style.css +46 -6
- package/es/template/activity/engine-stars.d.ts +1 -0
- package/es/template/activity/engine-stars.js +2 -1
- package/es/template/activity/engine-stars.js.map +1 -1
- package/es/template/activity/index.d.ts +1 -0
- package/es/template/activity/index.js +2 -1
- package/es/template/activity/index.js.map +1 -1
- package/es/template/activity/progression-item.d.ts +1 -1
- package/es/template/activity/progression-item.d.ts.map +1 -1
- package/es/template/activity/progression-item.js +3 -5
- package/es/template/activity/progression-item.js.map +1 -1
- package/es/template/activity/stars-summary.d.ts +1 -0
- package/es/template/activity/stars-summary.js +2 -1
- package/es/template/activity/stars-summary.js.map +1 -1
- package/es/template/back-office/brand-update/index.d.ts +2 -2
- package/es/util/render-with-context.d.ts.map +1 -1
- package/es/util/render-with-context.js +13 -6
- package/es/util/render-with-context.js.map +1 -1
- package/lib/atom/input-switch/index.js +2 -1
- package/lib/atom/input-switch/index.js.map +1 -1
- package/lib/atom/link/index.d.ts +7 -15
- package/lib/atom/link/index.d.ts.map +1 -1
- package/lib/atom/link/index.js +75 -97
- package/lib/atom/link/index.js.map +1 -1
- package/lib/atom/provider/web-context.d.ts +2 -2
- package/lib/atom/provider/web-context.d.ts.map +1 -1
- package/lib/atom/provider/web-context.js +1 -5
- package/lib/atom/provider/web-context.js.map +1 -1
- package/lib/atom/review-header-step-item/index.d.ts.map +1 -1
- package/lib/atom/review-header-step-item/index.js +12 -3
- package/lib/atom/review-header-step-item/index.js.map +1 -1
- package/lib/atom/tooltip/index.d.ts +7 -1
- package/lib/atom/tooltip/index.d.ts.map +1 -1
- package/lib/atom/tooltip/index.js +41 -14
- package/lib/atom/tooltip/index.js.map +1 -1
- package/lib/atom/tooltip/style.css +9 -0
- package/lib/molecule/answer/index.d.ts +3 -0
- package/lib/molecule/answer/index.d.ts.map +1 -1
- package/lib/molecule/answer/index.js +9 -3
- package/lib/molecule/answer/index.js.map +1 -1
- package/lib/organism/mooc-header/style.css +2 -1
- package/lib/organism/review-header/index.d.ts +23 -0
- package/lib/organism/review-header/index.d.ts.map +1 -1
- package/lib/organism/review-header/index.js +5 -0
- package/lib/organism/review-header/index.js.map +1 -1
- package/lib/organism/user-preferences/index.d.ts.map +1 -1
- package/lib/organism/user-preferences/index.js +23 -21
- package/lib/organism/user-preferences/index.js.map +1 -1
- package/lib/organism/user-preferences/style.css +5 -56
- package/lib/organism/wizard-contents/index.d.ts +2 -2
- package/lib/organism/wizard-contents/index.d.ts.map +1 -1
- package/lib/organism/wizard-contents/index.js +34 -13
- package/lib/organism/wizard-contents/index.js.map +1 -1
- package/lib/organism/wizard-contents/style.css +46 -6
- package/lib/template/activity/engine-stars.d.ts +1 -0
- package/lib/template/activity/engine-stars.js +2 -1
- package/lib/template/activity/engine-stars.js.map +1 -1
- package/lib/template/activity/index.d.ts +1 -0
- package/lib/template/activity/index.js +2 -1
- package/lib/template/activity/index.js.map +1 -1
- package/lib/template/activity/progression-item.d.ts +1 -1
- package/lib/template/activity/progression-item.d.ts.map +1 -1
- package/lib/template/activity/progression-item.js +3 -5
- package/lib/template/activity/progression-item.js.map +1 -1
- package/lib/template/activity/stars-summary.d.ts +1 -0
- package/lib/template/activity/stars-summary.js +2 -1
- package/lib/template/activity/stars-summary.js.map +1 -1
- package/lib/template/back-office/brand-update/index.d.ts +2 -2
- package/lib/util/render-with-context.d.ts.map +1 -1
- package/lib/util/render-with-context.js +18 -6
- package/lib/util/render-with-context.js.map +1 -1
- package/package.json +2 -2
|
@@ -188,7 +188,8 @@ EngineStars.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
188
188
|
})
|
|
189
189
|
} : {};
|
|
190
190
|
EngineStars.contextTypes = {
|
|
191
|
-
skin: _provider.default.childContextTypes.skin
|
|
191
|
+
skin: _provider.default.childContextTypes.skin,
|
|
192
|
+
translate: _provider.default.childContextTypes.translate
|
|
192
193
|
};
|
|
193
194
|
var _default = EngineStars;
|
|
194
195
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-stars.js","names":["ICONS","microlearning","TimerIcon","learner","LearnerIcon","battle","BoltIcon","certifications","CertificationIcon","bonus","BonusIcon","article","ArticleIcon","scorm","ScormIcon","video","VideoIcon","podcast","PodcastIcon","review","RevisionIcon","ToolTipContent","preMessage","linkMessage","endMessage","onClick","color","handleContentMouseOver","style","toolTipContent","propTypes","PropTypes","string","func","EngineStars","props","legacyContext","skin","GetSkinFromContext","translate","GetTranslateFromContext","toolTip","disabled","type","stars","title","active","className","handleClick","e","stopPropagation","preventDefault","dark","light","IconType","primary","engineStarsContentId","useState","uuidV5","URL","undefined","toolTipIsVisible","setToolTipIsVisible","mouseLeaveTimer","setMouseLeaveTimer","buttonRef","useRef","handleKeyPress","useCallback","event","toggleStateOnKeyPress","handleMouseOver","clearTimeout","handleMouseLeave","setTimeout","toolTipContentProps","useMemo","toolTipProps","closeToolTipInformationTextAriaLabel","TooltipContent","_props","classnames","engineStars","clickable","engineIcon","backgroundColor","iconHeader","score","iconStar","scoreTitle","isRequired","number","bool","shape","contextTypes","Provider","childContextTypes"],"sources":["../../../src/template/activity/engine-stars.js"],"sourcesContent":["import classnames from 'classnames';\nimport React, {useCallback, useMemo, useState, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, noop} from 'lodash/fp';\nimport {v5 as uuidV5} from 'uuid';\nimport {\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon,\n NovaCompositionCoorpacademyBolt as BoltIcon,\n NovaSolidSchoolScienceGraduationHat as CertificationIcon,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaSolidVoteRewardsRewardsBadge1 as BonusIcon,\n NovaCompositionCoorpacademyScorm as ScormIcon,\n NovaCompositionCoorpacademyArticle as ArticleIcon,\n NovaCompositionCoorpacademyVideo as VideoIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon,\n NovaCompositionCoorpacademyRevision as RevisionIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext, GetTranslateFromContext} from '../../atom/provider';\nimport ToolTip, {toggleStateOnKeyPress} from '../../atom/tooltip';\nimport Link from '../../atom/link';\nimport style from './engine-stars.css';\n\nconst ICONS = {\n microlearning: TimerIcon,\n learner: LearnerIcon,\n battle: BoltIcon,\n certifications: CertificationIcon,\n bonus: BonusIcon,\n article: ArticleIcon,\n scorm: ScormIcon,\n video: VideoIcon,\n podcast: PodcastIcon,\n review: RevisionIcon\n};\n\nconst ToolTipContent = ({\n preMessage,\n linkMessage,\n endMessage,\n onClick,\n color,\n handleContentMouseOver\n}) => (\n <p\n className={style.toolTipContent}\n onMouseOver={handleContentMouseOver}\n data-testid=\"react-tooltip-content\"\n >\n <span>{preMessage}</span>\n <Link\n onClick={onClick}\n style={{\n color\n }}\n >\n {linkMessage}\n </Link>\n <span>{endMessage}</span>\n </p>\n);\n\nToolTipContent.propTypes = {\n preMessage: PropTypes.string,\n linkMessage: PropTypes.string,\n endMessage: PropTypes.string,\n color: PropTypes.string,\n onClick: PropTypes.func,\n handleContentMouseOver: PropTypes.func\n};\n\nconst EngineStars = (props, legacyContext) => {\n const skin = GetSkinFromContext(legacyContext);\n const translate = GetTranslateFromContext(legacyContext);\n const {\n toolTip = null,\n disabled,\n type,\n stars,\n title,\n active = false,\n onClick = noop,\n className\n } = props;\n\n const handleClick = e => {\n e.stopPropagation();\n e.preventDefault();\n onClick(e);\n };\n const dark = get('common.dark', skin);\n const light = get('common.light', skin);\n const IconType = ICONS[type];\n\n const primary = get('common.primary', skin);\n\n // to replace by useId when React17 is bumped to React18\n const [engineStarsContentId] = useState(\n disabled ? uuidV5('engine-stars', uuidV5.URL) : undefined\n );\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n const [mouseLeaveTimer, setMouseLeaveTimer] = useState(undefined);\n const buttonRef = useRef(null);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible, buttonRef)(event);\n },\n [toolTipIsVisible]\n );\n\n const handleMouseOver = useCallback(() => {\n mouseLeaveTimer && clearTimeout(mouseLeaveTimer);\n setToolTipIsVisible(true);\n }, [mouseLeaveTimer]);\n\n const handleContentMouseOver = useCallback(() => {\n mouseLeaveTimer && /* istanbul ignore next */ clearTimeout(mouseLeaveTimer);\n }, [mouseLeaveTimer]);\n\n const handleMouseLeave = useCallback(() => {\n setMouseLeaveTimer(setTimeout(() => setToolTipIsVisible(false), 500));\n }, []);\n\n const toolTipContentProps = useMemo(\n () =>\n toolTip\n ? {\n preMessage: toolTip.preMessage,\n linkMessage: toolTip.linkMessage,\n endMessage: toolTip.endMessage,\n color: primary,\n onClick: toolTip.onClick\n }\n : null,\n [primary, toolTip]\n );\n\n const toolTipProps = {\n closeToolTipInformationTextAriaLabel: translate(\n 'Press the escape key to close the information text'\n )\n };\n\n const TooltipContent = useCallback(\n _props => (\n <ToolTipContent\n {...{...toolTipContentProps, ..._props}}\n handleContentMouseOver={handleContentMouseOver}\n />\n ),\n [handleContentMouseOver, toolTipContentProps]\n );\n\n return (\n <button\n ref={buttonRef}\n data-tip={disabled}\n data-engine={type}\n data-testid={`engine-stars-${type}`}\n // eslint-disable-next-line no-nested-ternary\n onClick={disabled ? handleKeyPress : active ? noop : handleClick}\n data-for={engineStarsContentId}\n className={classnames([\n style.engineStars,\n disabled ? style.disabled : '',\n active ? style.active : '',\n onClick !== noop ? style.clickable : null,\n className\n ])}\n type=\"button\"\n data-tooltip-place=\"left\"\n onKeyDown={handleKeyPress}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n >\n {disabled ? (\n <ToolTip\n {...toolTipProps}\n anchorId={engineStarsContentId}\n toolTipIsVisible={toolTipIsVisible}\n TooltipContent={TooltipContent}\n mouseLeaveTimer={mouseLeaveTimer}\n />\n ) : null}\n <span\n className={style.engineIcon}\n style={{\n backgroundColor: onClick === noop ? light : primary\n }}\n >\n <IconType className={style.iconHeader} width=\"30\" />\n </span>\n <div\n className={style.score}\n style={{\n color: active ? primary : dark\n }}\n >\n <p data-name=\"star-counter\">{stars}</p>\n <span>\n <StarIcon className={style.iconStar} color={active ? primary : dark} />\n </span>\n </div>\n <div className={style.scoreTitle}>{title}</div>\n </button>\n );\n};\n\nEngineStars.propTypes = {\n type: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired,\n title: PropTypes.string.isRequired,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n className: PropTypes.string,\n toolTip: PropTypes.shape({\n preMessage: PropTypes.string,\n linkMessage: PropTypes.string,\n endMessage: PropTypes.string,\n onClick: PropTypes.func\n })\n};\n\nEngineStars.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default EngineStars;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine-stars.js","names":["ICONS","microlearning","TimerIcon","learner","LearnerIcon","battle","BoltIcon","certifications","CertificationIcon","bonus","BonusIcon","article","ArticleIcon","scorm","ScormIcon","video","VideoIcon","podcast","PodcastIcon","review","RevisionIcon","ToolTipContent","preMessage","linkMessage","endMessage","onClick","color","handleContentMouseOver","style","toolTipContent","propTypes","PropTypes","string","func","EngineStars","props","legacyContext","skin","GetSkinFromContext","translate","GetTranslateFromContext","toolTip","disabled","type","stars","title","active","className","handleClick","e","stopPropagation","preventDefault","dark","light","IconType","primary","engineStarsContentId","useState","uuidV5","URL","undefined","toolTipIsVisible","setToolTipIsVisible","mouseLeaveTimer","setMouseLeaveTimer","buttonRef","useRef","handleKeyPress","useCallback","event","toggleStateOnKeyPress","handleMouseOver","clearTimeout","handleMouseLeave","setTimeout","toolTipContentProps","useMemo","toolTipProps","closeToolTipInformationTextAriaLabel","TooltipContent","_props","classnames","engineStars","clickable","engineIcon","backgroundColor","iconHeader","score","iconStar","scoreTitle","isRequired","number","bool","shape","contextTypes","Provider","childContextTypes"],"sources":["../../../src/template/activity/engine-stars.js"],"sourcesContent":["import classnames from 'classnames';\nimport React, {useCallback, useMemo, useState, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, noop} from 'lodash/fp';\nimport {v5 as uuidV5} from 'uuid';\nimport {\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon,\n NovaCompositionCoorpacademyBolt as BoltIcon,\n NovaSolidSchoolScienceGraduationHat as CertificationIcon,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaSolidVoteRewardsRewardsBadge1 as BonusIcon,\n NovaCompositionCoorpacademyScorm as ScormIcon,\n NovaCompositionCoorpacademyArticle as ArticleIcon,\n NovaCompositionCoorpacademyVideo as VideoIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon,\n NovaCompositionCoorpacademyRevision as RevisionIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext, GetTranslateFromContext} from '../../atom/provider';\nimport ToolTip, {toggleStateOnKeyPress} from '../../atom/tooltip';\nimport Link from '../../atom/link';\nimport style from './engine-stars.css';\n\nconst ICONS = {\n microlearning: TimerIcon,\n learner: LearnerIcon,\n battle: BoltIcon,\n certifications: CertificationIcon,\n bonus: BonusIcon,\n article: ArticleIcon,\n scorm: ScormIcon,\n video: VideoIcon,\n podcast: PodcastIcon,\n review: RevisionIcon\n};\n\nconst ToolTipContent = ({\n preMessage,\n linkMessage,\n endMessage,\n onClick,\n color,\n handleContentMouseOver\n}) => (\n <p\n className={style.toolTipContent}\n onMouseOver={handleContentMouseOver}\n data-testid=\"react-tooltip-content\"\n >\n <span>{preMessage}</span>\n <Link\n onClick={onClick}\n style={{\n color\n }}\n >\n {linkMessage}\n </Link>\n <span>{endMessage}</span>\n </p>\n);\n\nToolTipContent.propTypes = {\n preMessage: PropTypes.string,\n linkMessage: PropTypes.string,\n endMessage: PropTypes.string,\n color: PropTypes.string,\n onClick: PropTypes.func,\n handleContentMouseOver: PropTypes.func\n};\n\nconst EngineStars = (props, legacyContext) => {\n const skin = GetSkinFromContext(legacyContext);\n const translate = GetTranslateFromContext(legacyContext);\n const {\n toolTip = null,\n disabled,\n type,\n stars,\n title,\n active = false,\n onClick = noop,\n className\n } = props;\n\n const handleClick = e => {\n e.stopPropagation();\n e.preventDefault();\n onClick(e);\n };\n const dark = get('common.dark', skin);\n const light = get('common.light', skin);\n const IconType = ICONS[type];\n\n const primary = get('common.primary', skin);\n\n // to replace by useId when React17 is bumped to React18\n const [engineStarsContentId] = useState(\n disabled ? uuidV5('engine-stars', uuidV5.URL) : undefined\n );\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n const [mouseLeaveTimer, setMouseLeaveTimer] = useState(undefined);\n const buttonRef = useRef(null);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible, buttonRef)(event);\n },\n [toolTipIsVisible]\n );\n\n const handleMouseOver = useCallback(() => {\n mouseLeaveTimer && clearTimeout(mouseLeaveTimer);\n setToolTipIsVisible(true);\n }, [mouseLeaveTimer]);\n\n const handleContentMouseOver = useCallback(() => {\n mouseLeaveTimer && /* istanbul ignore next */ clearTimeout(mouseLeaveTimer);\n }, [mouseLeaveTimer]);\n\n const handleMouseLeave = useCallback(() => {\n setMouseLeaveTimer(setTimeout(() => setToolTipIsVisible(false), 500));\n }, []);\n\n const toolTipContentProps = useMemo(\n () =>\n toolTip\n ? {\n preMessage: toolTip.preMessage,\n linkMessage: toolTip.linkMessage,\n endMessage: toolTip.endMessage,\n color: primary,\n onClick: toolTip.onClick\n }\n : null,\n [primary, toolTip]\n );\n\n const toolTipProps = {\n closeToolTipInformationTextAriaLabel: translate(\n 'Press the escape key to close the information text'\n )\n };\n\n const TooltipContent = useCallback(\n _props => (\n <ToolTipContent\n {...{...toolTipContentProps, ..._props}}\n handleContentMouseOver={handleContentMouseOver}\n />\n ),\n [handleContentMouseOver, toolTipContentProps]\n );\n\n return (\n <button\n ref={buttonRef}\n data-tip={disabled}\n data-engine={type}\n data-testid={`engine-stars-${type}`}\n // eslint-disable-next-line no-nested-ternary\n onClick={disabled ? handleKeyPress : active ? noop : handleClick}\n data-for={engineStarsContentId}\n className={classnames([\n style.engineStars,\n disabled ? style.disabled : '',\n active ? style.active : '',\n onClick !== noop ? style.clickable : null,\n className\n ])}\n type=\"button\"\n data-tooltip-place=\"left\"\n onKeyDown={handleKeyPress}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n >\n {disabled ? (\n <ToolTip\n {...toolTipProps}\n anchorId={engineStarsContentId}\n toolTipIsVisible={toolTipIsVisible}\n TooltipContent={TooltipContent}\n mouseLeaveTimer={mouseLeaveTimer}\n />\n ) : null}\n <span\n className={style.engineIcon}\n style={{\n backgroundColor: onClick === noop ? light : primary\n }}\n >\n <IconType className={style.iconHeader} width=\"30\" />\n </span>\n <div\n className={style.score}\n style={{\n color: active ? primary : dark\n }}\n >\n <p data-name=\"star-counter\">{stars}</p>\n <span>\n <StarIcon className={style.iconStar} color={active ? primary : dark} />\n </span>\n </div>\n <div className={style.scoreTitle}>{title}</div>\n </button>\n );\n};\n\nEngineStars.propTypes = {\n type: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired,\n title: PropTypes.string.isRequired,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n className: PropTypes.string,\n toolTip: PropTypes.shape({\n preMessage: PropTypes.string,\n linkMessage: PropTypes.string,\n endMessage: PropTypes.string,\n onClick: PropTypes.func\n })\n};\n\nEngineStars.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nexport default EngineStars;\n"],"mappings":"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"}
|
|
@@ -140,7 +140,8 @@ const Progression = (props, legacyContext) => {
|
|
|
140
140
|
};
|
|
141
141
|
|
|
142
142
|
Progression.contextTypes = {
|
|
143
|
-
skin: _provider.default.childContextTypes.skin
|
|
143
|
+
skin: _provider.default.childContextTypes.skin,
|
|
144
|
+
translate: _provider.default.childContextTypes.translate
|
|
144
145
|
};
|
|
145
146
|
Progression.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
146
147
|
mainTitle: _propTypes.default.string.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["mapWithIndex","map","convert","cap","Progression","props","legacyContext","mainTitle","mainSubtitle","recommendation","progressions","adaptiveAriaLabel","total","engines","themeFilter","loading","skin","GetSkinFromContext","onChange","themeFilterOnChange","handleClick","useCallback","e","stopPropagation","preventDefault","onClick","noop","handleSelectTheme","primary","get","loader","style","allProgressions","progression","index","omit","ref","coreProgression","core","themeSelect","isEmpty","options","selectBorder","select","recommendationSection","recommendationWrapper","title","subtitle","classnames","course","innerHTML","__html","courseTitle","cta","backgroundColor","default","headerProgression","wrapperCta","wrapperProgression","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","shape","label","stars","number","arrayOf","EngineStars","bool","ProgressionItem","Select","func"],"sources":["../../../src/template/activity/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport get from 'lodash/fp/get';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport map from 'lodash/fp/map';\nimport noop from 'lodash/fp/noop';\nimport omit from 'lodash/fp/omit';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport Button from '../../atom/button';\nimport Select from '../../atom/select';\nimport Loader from '../../atom/loader';\nimport ProgressionItem from './progression-item';\nimport EngineStars from './engine-stars';\nimport StarsSummary from './stars-summary';\nimport style from './style.css';\n\nconst mapWithIndex = map.convert({cap: false});\n\nconst Progression = (props, legacyContext) => {\n const {\n mainTitle,\n mainSubtitle,\n recommendation = {},\n progressions = [],\n adaptiveAriaLabel,\n total,\n engines = [],\n themeFilter = {},\n loading\n } = props;\n const skin = GetSkinFromContext(legacyContext);\n const {onChange: themeFilterOnChange} = themeFilter;\n\n const handleClick = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n const {onClick = noop} = recommendation;\n onClick(e);\n },\n [recommendation]\n );\n\n const handleSelectTheme = useCallback(\n e => {\n themeFilterOnChange && themeFilterOnChange(e);\n },\n [themeFilterOnChange]\n );\n\n const primary = get('common.primary', skin);\n const loader = loading ? (\n <div className={style.loader}>\n <Loader />\n </div>\n ) : null;\n const allProgressions = mapWithIndex(\n (progression, index) => (\n <ProgressionItem\n {...omit(['ref'], progression)}\n key={`${index}-${progression.ref}`}\n adaptiveAriaLabel={adaptiveAriaLabel}\n />\n ),\n progressions\n );\n\n const coreProgression = (\n <div data-name=\"activityCore\" className={style.core}>\n {allProgressions}\n </div>\n );\n const themeSelect = !isEmpty(themeFilter.options) ? (\n <Select\n borderClassName={style.selectBorder}\n className={style.select}\n theme=\"thematiques\"\n options={themeFilter.options}\n onChange={handleSelectTheme}\n />\n ) : null;\n const recommendationSection = !isEmpty(recommendation) ? (\n <div className={style.recommendationWrapper}>\n <p className={style.recommendationSection}>{recommendation.title} </p>\n <p className={style.recommendationSection}>\n <span>{recommendation.subtitle} </span>\n <span\n className={classnames(style.course, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: recommendation.courseTitle}}\n />\n </p>\n <Button\n type=\"link\"\n onClick={handleClick}\n submitValue={recommendation.cta}\n style={{\n backgroundColor: primary\n }}\n className={style.cta}\n />\n </div>\n ) : null;\n\n return (\n <div className={style.default}>\n <div data-name=\"activity-header\" tabIndex={0}>\n <div className={style.mainTitle} tabIndex={0}>\n <span>{mainTitle}</span> {mainSubtitle}\n </div>\n <div className={style.headerProgression} tabIndex={0}>\n <div className={style.wrapperCta} tabIndex={0}>\n {themeSelect}\n {recommendationSection}\n </div>\n <StarsSummary engines={engines} total={total} />\n </div>\n </div>\n <div className={style.wrapperProgression} data-name=\"activityList\">\n {coreProgression}\n {loader}\n </div>\n </div>\n );\n};\n\nProgression.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nProgression.propTypes = {\n mainTitle: PropTypes.string.isRequired,\n mainSubtitle: PropTypes.string.isRequired,\n adaptiveAriaLabel: PropTypes.string,\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n loading: PropTypes.bool.isRequired,\n progressions: PropTypes.arrayOf(\n PropTypes.shape({...ProgressionItem.propTypes, ref: PropTypes.string.isRequired})\n ),\n themeFilter: PropTypes.shape({\n options: Select.propTypes.options.isRequired,\n onChange: Select.propTypes.onChange\n }),\n recommendation: PropTypes.shape({\n cta: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n courseTitle: PropTypes.string.isRequired,\n onClick: PropTypes.func\n })\n};\n\nexport default Progression;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["mapWithIndex","map","convert","cap","Progression","props","legacyContext","mainTitle","mainSubtitle","recommendation","progressions","adaptiveAriaLabel","total","engines","themeFilter","loading","skin","GetSkinFromContext","onChange","themeFilterOnChange","handleClick","useCallback","e","stopPropagation","preventDefault","onClick","noop","handleSelectTheme","primary","get","loader","style","allProgressions","progression","index","omit","ref","coreProgression","core","themeSelect","isEmpty","options","selectBorder","select","recommendationSection","recommendationWrapper","title","subtitle","classnames","course","innerHTML","__html","courseTitle","cta","backgroundColor","default","headerProgression","wrapperCta","wrapperProgression","contextTypes","Provider","childContextTypes","translate","propTypes","PropTypes","string","isRequired","shape","label","stars","number","arrayOf","EngineStars","bool","ProgressionItem","Select","func"],"sources":["../../../src/template/activity/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport get from 'lodash/fp/get';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport map from 'lodash/fp/map';\nimport noop from 'lodash/fp/noop';\nimport omit from 'lodash/fp/omit';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport Button from '../../atom/button';\nimport Select from '../../atom/select';\nimport Loader from '../../atom/loader';\nimport ProgressionItem from './progression-item';\nimport EngineStars from './engine-stars';\nimport StarsSummary from './stars-summary';\nimport style from './style.css';\n\nconst mapWithIndex = map.convert({cap: false});\n\nconst Progression = (props, legacyContext) => {\n const {\n mainTitle,\n mainSubtitle,\n recommendation = {},\n progressions = [],\n adaptiveAriaLabel,\n total,\n engines = [],\n themeFilter = {},\n loading\n } = props;\n const skin = GetSkinFromContext(legacyContext);\n const {onChange: themeFilterOnChange} = themeFilter;\n\n const handleClick = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n const {onClick = noop} = recommendation;\n onClick(e);\n },\n [recommendation]\n );\n\n const handleSelectTheme = useCallback(\n e => {\n themeFilterOnChange && themeFilterOnChange(e);\n },\n [themeFilterOnChange]\n );\n\n const primary = get('common.primary', skin);\n const loader = loading ? (\n <div className={style.loader}>\n <Loader />\n </div>\n ) : null;\n const allProgressions = mapWithIndex(\n (progression, index) => (\n <ProgressionItem\n {...omit(['ref'], progression)}\n key={`${index}-${progression.ref}`}\n adaptiveAriaLabel={adaptiveAriaLabel}\n />\n ),\n progressions\n );\n\n const coreProgression = (\n <div data-name=\"activityCore\" className={style.core}>\n {allProgressions}\n </div>\n );\n const themeSelect = !isEmpty(themeFilter.options) ? (\n <Select\n borderClassName={style.selectBorder}\n className={style.select}\n theme=\"thematiques\"\n options={themeFilter.options}\n onChange={handleSelectTheme}\n />\n ) : null;\n const recommendationSection = !isEmpty(recommendation) ? (\n <div className={style.recommendationWrapper}>\n <p className={style.recommendationSection}>{recommendation.title} </p>\n <p className={style.recommendationSection}>\n <span>{recommendation.subtitle} </span>\n <span\n className={classnames(style.course, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: recommendation.courseTitle}}\n />\n </p>\n <Button\n type=\"link\"\n onClick={handleClick}\n submitValue={recommendation.cta}\n style={{\n backgroundColor: primary\n }}\n className={style.cta}\n />\n </div>\n ) : null;\n\n return (\n <div className={style.default}>\n <div data-name=\"activity-header\" tabIndex={0}>\n <div className={style.mainTitle} tabIndex={0}>\n <span>{mainTitle}</span> {mainSubtitle}\n </div>\n <div className={style.headerProgression} tabIndex={0}>\n <div className={style.wrapperCta} tabIndex={0}>\n {themeSelect}\n {recommendationSection}\n </div>\n <StarsSummary engines={engines} total={total} />\n </div>\n </div>\n <div className={style.wrapperProgression} data-name=\"activityList\">\n {coreProgression}\n {loader}\n </div>\n </div>\n );\n};\n\nProgression.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nProgression.propTypes = {\n mainTitle: PropTypes.string.isRequired,\n mainSubtitle: PropTypes.string.isRequired,\n adaptiveAriaLabel: PropTypes.string,\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n loading: PropTypes.bool.isRequired,\n progressions: PropTypes.arrayOf(\n PropTypes.shape({...ProgressionItem.propTypes, ref: PropTypes.string.isRequired})\n ),\n themeFilter: PropTypes.shape({\n options: Select.propTypes.options.isRequired,\n onChange: Select.propTypes.onChange\n }),\n recommendation: PropTypes.shape({\n cta: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n courseTitle: PropTypes.string.isRequired,\n onClick: PropTypes.func\n })\n};\n\nexport default Progression;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export default ProgressionItem;
|
|
2
|
-
declare function ProgressionItem(props: any,
|
|
2
|
+
declare function ProgressionItem(props: any, legacyContext: any): JSX.Element;
|
|
3
3
|
declare namespace ProgressionItem {
|
|
4
4
|
namespace propTypes {
|
|
5
5
|
const completion: PropTypes.Validator<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progression-item.d.ts","sourceRoot":"","sources":["../../../src/template/activity/progression-item.js"],"names":[],"mappings":";AAmCA,
|
|
1
|
+
{"version":3,"file":"progression-item.d.ts","sourceRoot":"","sources":["../../../src/template/activity/progression-item.js"],"names":[],"mappings":";AAmCA,8EAyFC"}
|
|
@@ -15,7 +15,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
15
15
|
|
|
16
16
|
var _novaIcons = require("@coorpacademy/nova-icons");
|
|
17
17
|
|
|
18
|
-
var _provider =
|
|
18
|
+
var _provider = _interopRequireWildcard(require("../../atom/provider"));
|
|
19
19
|
|
|
20
20
|
var _progressBar = _interopRequireDefault(require("../../molecule/progress-bar"));
|
|
21
21
|
|
|
@@ -41,10 +41,8 @@ const ICONS = {
|
|
|
41
41
|
review: _novaIcons.NovaCompositionCoorpacademyRevision
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
-
const ProgressionItem = (props,
|
|
45
|
-
const
|
|
46
|
-
skin
|
|
47
|
-
} = context;
|
|
44
|
+
const ProgressionItem = (props, legacyContext) => {
|
|
45
|
+
const skin = (0, _provider.GetSkinFromContext)(legacyContext);
|
|
48
46
|
const {
|
|
49
47
|
disabled = false,
|
|
50
48
|
adaptive,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progression-item.js","names":["ICONS","chapter","TimerIcon","course","LearnerIcon","battle","BoltIcon","certification","CertificationIcon","article","ArticleIcon","scorm","ScormIcon","video","VideoIcon","podcast","PodcastIcon","review","RevisionIcon","ProgressionItem","props","
|
|
1
|
+
{"version":3,"file":"progression-item.js","names":["ICONS","chapter","TimerIcon","course","LearnerIcon","battle","BoltIcon","certification","CertificationIcon","article","ArticleIcon","scorm","ScormIcon","video","VideoIcon","podcast","PodcastIcon","review","RevisionIcon","ProgressionItem","props","legacyContext","skin","GetSkinFromContext","disabled","adaptive","completion","label","level","onClick","stars","maxStars","state","type","steps","adaptiveAriaLabel","dark","primary","white","IconType","adaptiveIcon","style","backgroundColor","color","handleCTAClick","useMemo","e","stopPropagation","preventDefault","link","cta","classnames","progressionItem","wrapperTitle","iconType","innerHTML","__html","smallStars","iconStar","borderRadius","propTypes","PropTypes","number","isRequired","bool","string","func","contextTypes","Provider","childContextTypes"],"sources":["../../../src/template/activity/progression-item.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRightIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon,\n NovaCompositionCoorpacademyBolt as BoltIcon,\n NovaSolidSchoolScienceGraduationHat as CertificationIcon,\n NovaCompositionCoorpacademyAdaptive as AdaptiveIcon,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyScorm as ScormIcon,\n NovaCompositionCoorpacademyArticle as ArticleIcon,\n NovaCompositionCoorpacademyVideo as VideoIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon,\n NovaCompositionCoorpacademyRevision as RevisionIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport ProgressBar from '../../molecule/progress-bar';\nimport Link from '../../atom/link';\nimport style from './progression-item.css';\n\nconst ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon,\n battle: BoltIcon,\n certification: CertificationIcon,\n article: ArticleIcon,\n scorm: ScormIcon,\n video: VideoIcon,\n podcast: PodcastIcon,\n review: RevisionIcon\n};\n\nconst ProgressionItem = (props, legacyContext) => {\n const skin = GetSkinFromContext(legacyContext);\n const {\n disabled = false,\n adaptive,\n completion,\n label,\n level,\n onClick = noop,\n stars,\n maxStars,\n state,\n type,\n steps = 0,\n adaptiveAriaLabel\n } = props;\n\n const dark = get('common.dark', skin);\n const primary = get('common.primary', skin);\n const white = get('common.white', skin);\n const IconType = ICONS[type];\n\n const adaptiveIcon = adaptive ? (\n <div\n className={style.adaptiveIcon}\n style={{\n backgroundColor: primary\n }}\n >\n <AdaptiveIcon style={{color: white}} height={14} aria-label={adaptiveAriaLabel} />\n </div>\n ) : null;\n\n const handleCTAClick = useMemo(\n () => e => {\n e.stopPropagation();\n e.preventDefault();\n onClick(e);\n },\n [onClick]\n );\n\n const link = disabled ? null : (\n <Link style={{color: primary}} onClick={handleCTAClick} data-progression-state={state}>\n <span className={style.cta}>\n {state} <ArrowRightIcon style={{color: primary}} height={12} width={20} />\n </span>\n </Link>\n );\n\n return (\n <div className={classnames(style.progressionItem, disabled ? style.disabled : '')}>\n <div className={style.wrapperTitle}>\n <IconType className={style.iconType} style={{color: dark}} />\n <div data-name=\"activityLabel\" className={style.label} title={label}>\n <div\n className={style.innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: label}}\n />\n {adaptiveIcon}\n </div>\n\n <div\n data-name=\"activityStars\"\n className={style.stars}\n style={{\n color: primary\n }}\n >\n {stars}\n {maxStars ? ' /' : null}\n {maxStars ? <span className={style.smallStars}>{maxStars}</span> : null}{' '}\n <StarIcon className={style.iconStar} style={{color: primary}} />\n </div>\n </div>\n <ProgressBar\n className={style.completion}\n value={completion * 100}\n max={100}\n steps={steps}\n style={{backgroundColor: primary, borderRadius: 0}}\n />\n <div className={style.state}>\n {link}\n <span className={style.level}>{level}</span>\n </div>\n </div>\n );\n};\n\nProgressionItem.propTypes = {\n completion: PropTypes.number.isRequired,\n stars: PropTypes.number.isRequired,\n maxStars: PropTypes.number,\n steps: PropTypes.number,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n level: PropTypes.string.isRequired,\n state: PropTypes.string.isRequired,\n adaptiveAriaLabel: PropTypes.string,\n type: PropTypes.string.isRequired,\n adaptive: PropTypes.bool.isRequired,\n onClick: PropTypes.func\n};\n\nProgressionItem.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default ProgressionItem;\n"],"mappings":"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"}
|
|
@@ -173,7 +173,8 @@ StarsSummary.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
173
173
|
engines: _propTypes.default.arrayOf(_propTypes.default.shape(_engineStars.default.propTypes)).isRequired
|
|
174
174
|
} : {};
|
|
175
175
|
StarsSummary.contextTypes = {
|
|
176
|
-
skin: _provider.default.childContextTypes.skin
|
|
176
|
+
skin: _provider.default.childContextTypes.skin,
|
|
177
|
+
translate: _provider.default.childContextTypes.translate
|
|
177
178
|
};
|
|
178
179
|
var _default = StarsSummary;
|
|
179
180
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stars-summary.js","names":["EngineTab","engine","engineIndex","firstItemIndex","type","state","useMemo","dataName","style","hidden","active","propTypes","PropTypes","shape","EngineStars","number","EngineTabs","engines","convert","cap","index","arrayOf","StarsSummary","props","legacyContext","total","skin","GetSkinFromContext","setFirstItemIndex","useState","totalItems","length","dark","primary","scrollTo","useCallback","page","handleOnLeft","handleOnRight","leftArrowView","circle","color","left","rightArrowView","right","myStars","myStarsWrapper","allStars","footerSummaryStars","backgroundColor","totalStars","label","stars","iconBubble","iconHeader","navigationLeft","navigationRight","string","isRequired","contextTypes","Provider","childContextTypes"],"sources":["../../../src/template/activity/stars-summary.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyStar as StarIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport EngineStars from './engine-stars';\nimport style from './stars-summary.css';\n\nconst EngineTab = ({engine, engineIndex, firstItemIndex}) => {\n const {type} = engine;\n const state = useMemo(\n () => (engineIndex < firstItemIndex ? 'hidden' : 'active'),\n [engineIndex, firstItemIndex]\n );\n const dataName = useMemo(() => `${type}_total_${state}`, [state, type]);\n\n return (\n <li className={style[state]} key={type} data-name={dataName}>\n <EngineStars\n {...engine}\n key={type}\n className={engineIndex < firstItemIndex ? style.hidden : style.active}\n />\n </li>\n );\n};\nEngineTab.propTypes = {\n engine: PropTypes.shape(EngineStars.propTypes),\n engineIndex: PropTypes.number,\n firstItemIndex: PropTypes.number\n};\n\nconst EngineTabs = ({engines, firstItemIndex}) => {\n return useMemo(\n () =>\n map.convert({cap: false})(\n (engine, index) => (\n <EngineTab\n engine={engine}\n key={`engineTab_${index}`}\n firstItemIndex={firstItemIndex}\n engineIndex={index}\n />\n ),\n engines\n ),\n [engines, firstItemIndex]\n );\n};\n\nEngineTabs.propTypes = {\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n firstItemIndex: PropTypes.number\n};\n\nconst StarsSummary = (props, legacyContext) => {\n const {total, engines} = props;\n const skin = GetSkinFromContext(legacyContext);\n\n const [firstItemIndex, setFirstItemIndex] = useState(0);\n const [totalItems] = useState(engines.length);\n\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const primary = get('common.primary', skin);\n\n const scrollTo = useCallback(page => setFirstItemIndex(page), []);\n\n const handleOnLeft = useCallback(() => {\n scrollTo(firstItemIndex - 1);\n }, [firstItemIndex, scrollTo]);\n\n const handleOnRight = useCallback(() => {\n scrollTo(firstItemIndex + 1);\n }, [firstItemIndex, scrollTo]);\n\n if (isEmpty(engines)) {\n return null;\n }\n\n const leftArrowView =\n totalItems > 6 && firstItemIndex > 0 ? (\n <button\n className={style.circle}\n onClick={handleOnLeft}\n data-name=\"left-arrow\"\n data-testid=\"stars-summary-left-arrow\"\n type=\"button\"\n >\n <ArrowLeft style={{color: dark}} className={style.left} width={10} height={10} />\n </button>\n ) : null;\n\n const rightArrowView =\n totalItems > 6 && firstItemIndex < totalItems - 6 ? (\n <div\n className={style.circle}\n onClick={handleOnRight}\n data-name=\"right-arrow\"\n data-testid=\"stars-summary-right-arrow\"\n >\n <ArrowRight style={{color: dark}} className={style.right} width={10} height={10} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"myStars\" className={style.myStars} tabIndex={0}>\n <div\n data-name=\"myStars-wrapper\"\n className={style.myStarsWrapper}\n data-testid={`stars-summary-engine-index-${firstItemIndex}`}\n tabIndex={0}\n >\n <ul\n className={style.allStars}\n data-name=\"engineList\"\n data-testid=\"stars-summary-engine-tabs\"\n tabIndex={0}\n >\n <EngineTabs engines={engines} firstItemIndex={firstItemIndex} />\n </ul>\n <div\n className={style.footerSummaryStars}\n style={{\n backgroundColor: primary\n }}\n >\n <div className={style.totalStars}>\n <span>{total.label}</span>\n <p data-name=\"star-counter\">{total.stars}</p>\n <div className={style.iconBubble}>\n <StarIcon className={style.iconHeader} style={{color: primary}} />\n </div>\n </div>\n <div className={style.navigationLeft}>{leftArrowView}</div>\n <div className={style.navigationRight}>{rightArrowView}</div>\n </div>\n </div>\n </div>\n );\n};\n\nStarsSummary.propTypes = {\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)).isRequired\n};\n\nStarsSummary.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default StarsSummary;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stars-summary.js","names":["EngineTab","engine","engineIndex","firstItemIndex","type","state","useMemo","dataName","style","hidden","active","propTypes","PropTypes","shape","EngineStars","number","EngineTabs","engines","convert","cap","index","arrayOf","StarsSummary","props","legacyContext","total","skin","GetSkinFromContext","setFirstItemIndex","useState","totalItems","length","dark","primary","scrollTo","useCallback","page","handleOnLeft","handleOnRight","leftArrowView","circle","color","left","rightArrowView","right","myStars","myStarsWrapper","allStars","footerSummaryStars","backgroundColor","totalStars","label","stars","iconBubble","iconHeader","navigationLeft","navigationRight","string","isRequired","contextTypes","Provider","childContextTypes","translate"],"sources":["../../../src/template/activity/stars-summary.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyStar as StarIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport EngineStars from './engine-stars';\nimport style from './stars-summary.css';\n\nconst EngineTab = ({engine, engineIndex, firstItemIndex}) => {\n const {type} = engine;\n const state = useMemo(\n () => (engineIndex < firstItemIndex ? 'hidden' : 'active'),\n [engineIndex, firstItemIndex]\n );\n const dataName = useMemo(() => `${type}_total_${state}`, [state, type]);\n\n return (\n <li className={style[state]} key={type} data-name={dataName}>\n <EngineStars\n {...engine}\n key={type}\n className={engineIndex < firstItemIndex ? style.hidden : style.active}\n />\n </li>\n );\n};\nEngineTab.propTypes = {\n engine: PropTypes.shape(EngineStars.propTypes),\n engineIndex: PropTypes.number,\n firstItemIndex: PropTypes.number\n};\n\nconst EngineTabs = ({engines, firstItemIndex}) => {\n return useMemo(\n () =>\n map.convert({cap: false})(\n (engine, index) => (\n <EngineTab\n engine={engine}\n key={`engineTab_${index}`}\n firstItemIndex={firstItemIndex}\n engineIndex={index}\n />\n ),\n engines\n ),\n [engines, firstItemIndex]\n );\n};\n\nEngineTabs.propTypes = {\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n firstItemIndex: PropTypes.number\n};\n\nconst StarsSummary = (props, legacyContext) => {\n const {total, engines} = props;\n const skin = GetSkinFromContext(legacyContext);\n\n const [firstItemIndex, setFirstItemIndex] = useState(0);\n const [totalItems] = useState(engines.length);\n\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const primary = get('common.primary', skin);\n\n const scrollTo = useCallback(page => setFirstItemIndex(page), []);\n\n const handleOnLeft = useCallback(() => {\n scrollTo(firstItemIndex - 1);\n }, [firstItemIndex, scrollTo]);\n\n const handleOnRight = useCallback(() => {\n scrollTo(firstItemIndex + 1);\n }, [firstItemIndex, scrollTo]);\n\n if (isEmpty(engines)) {\n return null;\n }\n\n const leftArrowView =\n totalItems > 6 && firstItemIndex > 0 ? (\n <button\n className={style.circle}\n onClick={handleOnLeft}\n data-name=\"left-arrow\"\n data-testid=\"stars-summary-left-arrow\"\n type=\"button\"\n >\n <ArrowLeft style={{color: dark}} className={style.left} width={10} height={10} />\n </button>\n ) : null;\n\n const rightArrowView =\n totalItems > 6 && firstItemIndex < totalItems - 6 ? (\n <div\n className={style.circle}\n onClick={handleOnRight}\n data-name=\"right-arrow\"\n data-testid=\"stars-summary-right-arrow\"\n >\n <ArrowRight style={{color: dark}} className={style.right} width={10} height={10} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"myStars\" className={style.myStars} tabIndex={0}>\n <div\n data-name=\"myStars-wrapper\"\n className={style.myStarsWrapper}\n data-testid={`stars-summary-engine-index-${firstItemIndex}`}\n tabIndex={0}\n >\n <ul\n className={style.allStars}\n data-name=\"engineList\"\n data-testid=\"stars-summary-engine-tabs\"\n tabIndex={0}\n >\n <EngineTabs engines={engines} firstItemIndex={firstItemIndex} />\n </ul>\n <div\n className={style.footerSummaryStars}\n style={{\n backgroundColor: primary\n }}\n >\n <div className={style.totalStars}>\n <span>{total.label}</span>\n <p data-name=\"star-counter\">{total.stars}</p>\n <div className={style.iconBubble}>\n <StarIcon className={style.iconHeader} style={{color: primary}} />\n </div>\n </div>\n <div className={style.navigationLeft}>{leftArrowView}</div>\n <div className={style.navigationRight}>{rightArrowView}</div>\n </div>\n </div>\n </div>\n );\n};\n\nStarsSummary.propTypes = {\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)).isRequired\n};\n\nStarsSummary.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nexport default StarsSummary;\n"],"mappings":"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"}
|
|
@@ -743,7 +743,7 @@ declare namespace BrandUpdate {
|
|
|
743
743
|
done: PropTypes.Requireable<boolean>;
|
|
744
744
|
current: PropTypes.Requireable<boolean>;
|
|
745
745
|
}> | null | undefined)[]>;
|
|
746
|
-
summary: PropTypes.
|
|
746
|
+
summary: PropTypes.Requireable<PropTypes.InferProps<{
|
|
747
747
|
title: PropTypes.Requireable<string>;
|
|
748
748
|
side: PropTypes.Requireable<string>;
|
|
749
749
|
sections: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
@@ -776,7 +776,7 @@ declare namespace BrandUpdate {
|
|
|
776
776
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
777
777
|
'aria-label': PropTypes.Requireable<string>;
|
|
778
778
|
}>>;
|
|
779
|
-
}
|
|
779
|
+
}>>;
|
|
780
780
|
content: PropTypes.Requireable<NonNullable<PropTypes.InferProps<{
|
|
781
781
|
type: PropTypes.Requireable<string>;
|
|
782
782
|
groups: PropTypes.Validator<(PropTypes.InferProps<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-with-context.d.ts","sourceRoot":"","sources":["../../src/util/render-with-context.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render-with-context.d.ts","sourceRoot":"","sources":["../../src/util/render-with-context.js"],"names":[],"mappings":"AAOO,8LA0BN"}
|
|
@@ -9,13 +9,19 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
9
9
|
|
|
10
10
|
var _react2 = require("@testing-library/react");
|
|
11
11
|
|
|
12
|
+
var _has = _interopRequireDefault(require("lodash/fp/has"));
|
|
13
|
+
|
|
12
14
|
var _translate = require("@coorpacademy/translate");
|
|
13
15
|
|
|
14
|
-
var _provider =
|
|
16
|
+
var _provider = _interopRequireWildcard(require("../atom/provider"));
|
|
15
17
|
|
|
16
|
-
const _excluded = ["context"],
|
|
18
|
+
const _excluded = ["context", "useLegacyProvider"],
|
|
17
19
|
_excluded2 = ["translate"];
|
|
18
20
|
|
|
21
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
22
|
+
|
|
23
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
24
|
+
|
|
19
25
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
26
|
|
|
21
27
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
@@ -24,7 +30,8 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
24
30
|
|
|
25
31
|
const renderWithContext = (component, options = {}) => {
|
|
26
32
|
const {
|
|
27
|
-
context = {}
|
|
33
|
+
context = {},
|
|
34
|
+
useLegacyProvider = false
|
|
28
35
|
} = options,
|
|
29
36
|
renderOptions = _objectWithoutPropertiesLoose(options, _excluded); // uses mockTranslate as a default translate function
|
|
30
37
|
|
|
@@ -36,9 +43,14 @@ const renderWithContext = (component, options = {}) => {
|
|
|
36
43
|
|
|
37
44
|
const wrapper = ({
|
|
38
45
|
children
|
|
39
|
-
}) =>
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
}) => {
|
|
47
|
+
const hasContextTypes = useLegacyProvider || (0, _has.default)(['type', 'contextTypes'], children);
|
|
48
|
+
return hasContextTypes ? /*#__PURE__*/_react.default.createElement(_provider.default, _extends({}, rest, {
|
|
49
|
+
translate: translate
|
|
50
|
+
}), children) : /*#__PURE__*/_react.default.createElement(_provider.WebContext, _extends({}, rest, {
|
|
51
|
+
translate: translate
|
|
52
|
+
}), children);
|
|
53
|
+
};
|
|
42
54
|
|
|
43
55
|
wrapper.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
44
56
|
children: _propTypes.default.node
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-with-context.js","names":["renderWithContext","component","options","context","renderOptions","translate","mockTranslate","rest","wrapper","children","propTypes","PropTypes","node","render"],"sources":["../../src/util/render-with-context.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {render} from '@testing-library/react';\nimport {mockTranslate} from '@coorpacademy/translate';\nimport Provider from '../atom/provider';\n\nexport const renderWithContext = (component, options = {}) => {\n const {context = {}, ...renderOptions} = options;\n // uses mockTranslate as a default translate function\n const {translate = mockTranslate, ...rest} = context;\n\n const wrapper = ({children}) => (\n
|
|
1
|
+
{"version":3,"file":"render-with-context.js","names":["renderWithContext","component","options","context","useLegacyProvider","renderOptions","translate","mockTranslate","rest","wrapper","children","hasContextTypes","has","propTypes","PropTypes","node","render"],"sources":["../../src/util/render-with-context.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {render} from '@testing-library/react';\nimport has from 'lodash/fp/has';\nimport {mockTranslate} from '@coorpacademy/translate';\nimport Provider, {WebContext} from '../atom/provider';\n\nexport const renderWithContext = (component, options = {}) => {\n const {context = {}, useLegacyProvider = false, ...renderOptions} = options;\n // uses mockTranslate as a default translate function\n const {translate = mockTranslate, ...rest} = context;\n\n const wrapper = ({children}) => {\n const hasContextTypes = useLegacyProvider || has(['type', 'contextTypes'], children);\n return hasContextTypes ? (\n <Provider {...rest} translate={translate}>\n {children}\n </Provider>\n ) : (\n <WebContext {...rest} translate={translate}>\n {children}\n </WebContext>\n );\n };\n\n wrapper.propTypes = {\n children: PropTypes.node\n };\n\n return render(component, {\n ...renderOptions,\n wrapper\n });\n};\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;AAEO,MAAMA,iBAAiB,GAAG,CAACC,SAAD,EAAYC,OAAO,GAAG,EAAtB,KAA6B;EAC5D,MAAM;IAACC,OAAO,GAAG,EAAX;IAAeC,iBAAiB,GAAG;EAAnC,IAA8DF,OAApE;EAAA,MAAmDG,aAAnD,iCAAoEH,OAApE,aAD4D,CAE5D;;;EACA,MAAM;IAACI,SAAS,GAAGC;EAAb,IAAuCJ,OAA7C;EAAA,MAAqCK,IAArC,iCAA6CL,OAA7C;;EAEA,MAAMM,OAAO,GAAG,CAAC;IAACC;EAAD,CAAD,KAAgB;IAC9B,MAAMC,eAAe,GAAGP,iBAAiB,IAAI,IAAAQ,YAAA,EAAI,CAAC,MAAD,EAAS,cAAT,CAAJ,EAA8BF,QAA9B,CAA7C;IACA,OAAOC,eAAe,gBACpB,6BAAC,iBAAD,eAAcH,IAAd;MAAoB,SAAS,EAAEF;IAA/B,IACGI,QADH,CADoB,gBAKpB,6BAAC,oBAAD,eAAgBF,IAAhB;MAAsB,SAAS,EAAEF;IAAjC,IACGI,QADH,CALF;EASD,CAXD;;EAaAD,OAAO,CAACI,SAAR,2CAAoB;IAClBH,QAAQ,EAAEI,kBAAA,CAAUC;EADF,CAApB;EAIA,OAAO,IAAAC,cAAA,EAAOf,SAAP,eACFI,aADE;IAELI;EAFK,GAAP;AAID,CA1BM"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "11.10.
|
|
3
|
+
"version": "11.10.4-alpha.7+b8e257d77",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -162,5 +162,5 @@
|
|
|
162
162
|
"last 2 versions",
|
|
163
163
|
"IE 11"
|
|
164
164
|
],
|
|
165
|
-
"gitHead": "
|
|
165
|
+
"gitHead": "b8e257d77a80648f9e7e3b5dc2a5c3364de1a477"
|
|
166
166
|
}
|