@coorpacademy/components 11.11.7 → 11.11.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/es/atom/input-switch/style.css +11 -12
  2. package/es/molecule/errors-table/index.d.ts +16 -0
  3. package/es/molecule/errors-table/index.d.ts.map +1 -0
  4. package/es/molecule/errors-table/index.js +58 -0
  5. package/es/molecule/errors-table/index.js.map +1 -0
  6. package/es/molecule/errors-table/style.css +64 -0
  7. package/es/molecule/errors-table/types.d.ts +24 -0
  8. package/es/molecule/errors-table/types.d.ts.map +1 -0
  9. package/es/molecule/errors-table/types.js +13 -0
  10. package/es/molecule/errors-table/types.js.map +1 -0
  11. package/es/organism/mooc-header/index.js +5 -4
  12. package/es/organism/mooc-header/index.js.map +1 -1
  13. package/es/organism/mooc-header/style.css +11 -1
  14. package/es/template/activity/engine-stars.d.ts.map +1 -1
  15. package/es/template/activity/engine-stars.js +3 -1
  16. package/es/template/activity/engine-stars.js.map +1 -1
  17. package/es/template/activity/progression-item.d.ts.map +1 -1
  18. package/es/template/activity/progression-item.js +1 -0
  19. package/es/template/activity/progression-item.js.map +1 -1
  20. package/es/variables/colors.css +1 -0
  21. package/lib/atom/input-switch/style.css +11 -12
  22. package/lib/molecule/errors-table/index.d.ts +16 -0
  23. package/lib/molecule/errors-table/index.d.ts.map +1 -0
  24. package/lib/molecule/errors-table/index.js +68 -0
  25. package/lib/molecule/errors-table/index.js.map +1 -0
  26. package/lib/molecule/errors-table/style.css +64 -0
  27. package/lib/molecule/errors-table/types.d.ts +24 -0
  28. package/lib/molecule/errors-table/types.d.ts.map +1 -0
  29. package/lib/molecule/errors-table/types.js +24 -0
  30. package/lib/molecule/errors-table/types.js.map +1 -0
  31. package/lib/organism/mooc-header/index.js +5 -4
  32. package/lib/organism/mooc-header/index.js.map +1 -1
  33. package/lib/organism/mooc-header/style.css +11 -1
  34. package/lib/template/activity/engine-stars.d.ts.map +1 -1
  35. package/lib/template/activity/engine-stars.js +3 -1
  36. package/lib/template/activity/engine-stars.js.map +1 -1
  37. package/lib/template/activity/progression-item.d.ts.map +1 -1
  38. package/lib/template/activity/progression-item.js +1 -0
  39. package/lib/template/activity/progression-item.js.map +1 -1
  40. package/lib/variables/colors.css +1 -0
  41. package/package.json +2 -2
  42. package/locales/.mtslconfig.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"engine-stars.js","names":["classnames","React","useCallback","useMemo","useState","useRef","PropTypes","v5","uuidV5","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyTimer","TimerIcon","NovaCompositionCoorpacademyBolt","BoltIcon","NovaSolidSchoolScienceGraduationHat","CertificationIcon","NovaSolidContentContentBook1","LearnerIcon","NovaSolidVoteRewardsRewardsBadge1","BonusIcon","NovaCompositionCoorpacademyScorm","ScormIcon","NovaCompositionCoorpacademyArticle","ArticleIcon","NovaCompositionCoorpacademyVideo","VideoIcon","NovaCompositionCoorpacademyMicrophone","PodcastIcon","NovaCompositionCoorpacademyRevision","RevisionIcon","Provider","GetSkinFromContext","GetTranslateFromContext","ToolTip","toggleStateOnKeyPress","Link","style","ICONS","microlearning","learner","battle","certifications","bonus","article","scorm","video","podcast","review","ToolTipContent","preMessage","linkMessage","endMessage","onClick","color","handleContentMouseOver","toolTipContent","propTypes","string","func","EngineStars","props","legacyContext","skin","translate","toolTip","disabled","type","stars","title","active","className","handleClick","e","stopPropagation","preventDefault","dark","light","IconType","primary","engineStarsContentId","URL","undefined","toolTipIsVisible","setToolTipIsVisible","mouseLeaveTimer","setMouseLeaveTimer","buttonRef","handleKeyPress","event","handleMouseOver","clearTimeout","handleMouseLeave","setTimeout","toolTipContentProps","toolTipProps","closeToolTipInformationTextAriaLabel","TooltipContent","_props","engineStars","clickable","engineIcon","backgroundColor","iconHeader","score","iconStar","scoreTitle","isRequired","number","bool","shape","contextTypes","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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"}
1
+ {"version":3,"file":"engine-stars.js","names":["classnames","React","useCallback","useMemo","useState","useRef","PropTypes","v5","uuidV5","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyTimer","TimerIcon","NovaCompositionCoorpacademyBolt","BoltIcon","NovaSolidSchoolScienceGraduationHat","CertificationIcon","NovaSolidContentContentBook1","LearnerIcon","NovaSolidVoteRewardsRewardsBadge1","BonusIcon","NovaCompositionCoorpacademyScorm","ScormIcon","NovaCompositionCoorpacademyArticle","ArticleIcon","NovaCompositionCoorpacademyVideo","VideoIcon","NovaCompositionCoorpacademyMicrophone","PodcastIcon","NovaCompositionCoorpacademyRevision","RevisionIcon","Provider","GetSkinFromContext","GetTranslateFromContext","ToolTip","toggleStateOnKeyPress","Link","style","ICONS","microlearning","learner","battle","certifications","bonus","article","scorm","video","podcast","review","ToolTipContent","preMessage","linkMessage","endMessage","onClick","color","handleContentMouseOver","toolTipContent","propTypes","string","func","EngineStars","props","legacyContext","skin","translate","toolTip","disabled","type","stars","title","active","className","handleClick","e","stopPropagation","preventDefault","dark","light","IconType","primary","engineStarsContentId","URL","undefined","toolTipIsVisible","setToolTipIsVisible","mouseLeaveTimer","setMouseLeaveTimer","buttonRef","handleKeyPress","event","handleMouseOver","clearTimeout","handleMouseLeave","setTimeout","toolTipContentProps","toolTipProps","closeToolTipInformationTextAriaLabel","TooltipContent","_props","engineStars","clickable","engineIcon","backgroundColor","iconHeader","score","iconStar","scoreTitle","isRequired","number","bool","shape","contextTypes","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\n className={style.iconStar}\n style={{\n color: active ? primary : dark\n }}\n />\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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"progression-item.d.ts","sourceRoot":"","sources":["../../../src/template/activity/progression-item.js"],"names":[],"mappings":";AAmCA,8EAyFC"}
1
+ {"version":3,"file":"progression-item.d.ts","sourceRoot":"","sources":["../../../src/template/activity/progression-item.js"],"names":[],"mappings":";AAmCA,8EA0FC"}
@@ -97,6 +97,7 @@ const ProgressionItem = (props, legacyContext) => {
97
97
  }
98
98
  }), adaptiveIcon), /*#__PURE__*/React.createElement("div", {
99
99
  "data-name": "activityStars",
100
+ role: "progressbar",
100
101
  className: style.stars,
101
102
  style: {
102
103
  color: primary
@@ -1 +1 @@
1
- {"version":3,"file":"progression-item.js","names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowRight","ArrowRightIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyTimer","TimerIcon","NovaCompositionCoorpacademyBolt","BoltIcon","NovaSolidSchoolScienceGraduationHat","CertificationIcon","NovaCompositionCoorpacademyAdaptive","AdaptiveIcon","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyScorm","ScormIcon","NovaCompositionCoorpacademyArticle","ArticleIcon","NovaCompositionCoorpacademyVideo","VideoIcon","NovaCompositionCoorpacademyMicrophone","PodcastIcon","NovaCompositionCoorpacademyRevision","RevisionIcon","Provider","GetSkinFromContext","ProgressBar","Link","style","ICONS","chapter","course","battle","certification","article","scorm","video","podcast","review","ProgressionItem","props","legacyContext","skin","disabled","adaptive","completion","label","level","onClick","stars","maxStars","state","type","steps","adaptiveAriaLabel","dark","primary","white","IconType","adaptiveIcon","backgroundColor","color","handleCTAClick","e","stopPropagation","preventDefault","link","cta","progressionItem","wrapperTitle","iconType","innerHTML","__html","smallStars","iconStar","borderRadius","propTypes","number","isRequired","bool","string","func","contextTypes","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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"}
1
+ {"version":3,"file":"progression-item.js","names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowRight","ArrowRightIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyTimer","TimerIcon","NovaCompositionCoorpacademyBolt","BoltIcon","NovaSolidSchoolScienceGraduationHat","CertificationIcon","NovaCompositionCoorpacademyAdaptive","AdaptiveIcon","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyScorm","ScormIcon","NovaCompositionCoorpacademyArticle","ArticleIcon","NovaCompositionCoorpacademyVideo","VideoIcon","NovaCompositionCoorpacademyMicrophone","PodcastIcon","NovaCompositionCoorpacademyRevision","RevisionIcon","Provider","GetSkinFromContext","ProgressBar","Link","style","ICONS","chapter","course","battle","certification","article","scorm","video","podcast","review","ProgressionItem","props","legacyContext","skin","disabled","adaptive","completion","label","level","onClick","stars","maxStars","state","type","steps","adaptiveAriaLabel","dark","primary","white","IconType","adaptiveIcon","backgroundColor","color","handleCTAClick","e","stopPropagation","preventDefault","link","cta","progressionItem","wrapperTitle","iconType","innerHTML","__html","smallStars","iconStar","borderRadius","propTypes","number","isRequired","bool","string","func","contextTypes","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 role=\"progressbar\"\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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"}
@@ -63,6 +63,7 @@
63
63
  @value cm_yellow_200: #DB9200;
64
64
  @value cm_yellow_400: #bd7e00;
65
65
  @value cm_red_200: #FF4040;
66
+ @value cm_negative_red_200: #ED3436;
66
67
  @value cm_red_video: #E8335E;
67
68
  @value cm_violet_podcast: #432ba7;
68
69
  @value cm_warning_50: rgba(255, 192, 67, 0.13);
@@ -2,7 +2,6 @@
2
2
  @value orange from colors;
3
3
  @value medium from colors;
4
4
  @value white from colors;
5
- @value positive from colors;
6
5
  @value light from colors;
7
6
  @value dark from colors;
8
7
  @value cm_grey_200 from colors;
@@ -31,7 +30,7 @@
31
30
  }
32
31
 
33
32
  .default label {
34
- height: 30px;
33
+ height: 24px;
35
34
  position: relative;
36
35
  flex-grow: 0;
37
36
  display: block;
@@ -44,11 +43,11 @@
44
43
 
45
44
  .default label::after {
46
45
  position: absolute;
47
- left: 1px;
48
- top: 1px;
46
+ left: 2px;
47
+ top: 2px;
49
48
  display: block;
50
- width: 28px;
51
- height: 28px;
49
+ width: 20px;
50
+ height: 20px;
52
51
  border-radius: 100px;
53
52
  background: white;
54
53
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.05);
@@ -58,11 +57,11 @@
58
57
 
59
58
  .modified label::after {
60
59
  position: absolute;
61
- left: 1px;
62
- top: 1px;
60
+ left: 2px;
61
+ top: 2px;
63
62
  display: block;
64
- width: 28px;
65
- height: 28px;
63
+ width: 20px;
64
+ height: 20px;
66
65
  border-radius: 100px;
67
66
  background: orange;
68
67
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.05);
@@ -79,11 +78,11 @@
79
78
  }
80
79
 
81
80
  .checkbox:checked ~ label {
82
- background: positive;
81
+ background: cm_primary_blue;
83
82
  }
84
83
 
85
84
  .default input:checked ~ label::after {
86
- left: 23px;
85
+ left: 30px;
87
86
  }
88
87
 
89
88
  .checkbox:disabled ~ label {
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import { Props } from './types';
3
+ declare const ErrorsTable: {
4
+ (props: Props): JSX.Element;
5
+ propTypes: {
6
+ columns: import("prop-types").Requireable<(import("prop-types").InferProps<{
7
+ title: import("prop-types").Validator<string>;
8
+ }> | null | undefined)[]>;
9
+ rows: import("prop-types").Requireable<(import("prop-types").InferProps<{
10
+ fields: import("prop-types").Requireable<(string | null | undefined)[]>;
11
+ }> | null | undefined)[]>;
12
+ ariaDescribedby: import("prop-types").Requireable<string>;
13
+ };
14
+ };
15
+ export default ErrorsTable;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/errors-table/index.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,KAAK,EAAY,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,WAAW;YAAW,KAAK;;;;;;;;;;CAuDhC,CAAC;AAIF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+
10
+ var _style = _interopRequireDefault(require("./style.css"));
11
+
12
+ var _types = require("./types");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ 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); }
17
+
18
+ const ErrorsTable = props => {
19
+ const {
20
+ columns = [],
21
+ rows = [],
22
+ ariaDescribedby
23
+ } = props;
24
+ const headerRow = columns.map((column, cIndex) => {
25
+ const {
26
+ title
27
+ } = column;
28
+ return /*#__PURE__*/_react.default.createElement("th", {
29
+ className: (0, _classnames.default)(_style.default[`header-${cIndex + 1}`]),
30
+ key: `${title}-${cIndex + 1}`,
31
+ role: "columnheader"
32
+ }, /*#__PURE__*/_react.default.createElement("div", null, title));
33
+ });
34
+ const headerView = [/*#__PURE__*/_react.default.createElement("th", {
35
+ className: (0, _classnames.default)(_style.default[`header-0`]),
36
+ key: "header"
37
+ }, /*#__PURE__*/_react.default.createElement("div", null, " ", ''))].concat(headerRow);
38
+ const bodyView = rows.map((row, index) => {
39
+ const {
40
+ fields = []
41
+ } = row;
42
+ const bodyRow = fields.map((field, fIndex) => {
43
+ return /*#__PURE__*/_react.default.createElement("td", {
44
+ className: (0, _classnames.default)(_style.default.col, _style.default[`col-${fIndex + 1}`]),
45
+ key: `${field}-${fIndex}`
46
+ }, field || '');
47
+ });
48
+ bodyRow.unshift( /*#__PURE__*/_react.default.createElement("td", {
49
+ className: (0, _classnames.default)(_style.default.col, _style.default[`col-0`]),
50
+ key: "header"
51
+ }, index + 1));
52
+ return /*#__PURE__*/_react.default.createElement("tr", {
53
+ key: `line-${index}`
54
+ }, bodyRow);
55
+ });
56
+ return /*#__PURE__*/_react.default.createElement("table", _extends({}, ariaDescribedby ? {
57
+ 'aria-describedby': ariaDescribedby
58
+ } : {}, {
59
+ className: _style.default.table
60
+ }), /*#__PURE__*/_react.default.createElement("thead", {
61
+ className: _style.default.thead
62
+ }, /*#__PURE__*/_react.default.createElement("tr", null, headerView)), /*#__PURE__*/_react.default.createElement("tbody", null, bodyView));
63
+ };
64
+
65
+ ErrorsTable.propTypes = process.env.NODE_ENV !== "production" ? _types.propTypes : {};
66
+ var _default = ErrorsTable;
67
+ exports.default = _default;
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ErrorsTable","props","columns","rows","ariaDescribedby","headerRow","map","column","cIndex","title","classnames","style","headerView","concat","bodyView","row","index","fields","bodyRow","field","fIndex","col","unshift","table","thead","propTypes"],"sources":["../../../src/molecule/errors-table/index.tsx"],"sourcesContent":["/* eslint-disable css-modules/no-unused-class */\nimport React from 'react';\nimport classnames from 'classnames';\nimport style from './style.css';\nimport {Props, propTypes} from './types';\n\nconst ErrorsTable = (props: Props) => {\n const {columns = [], rows = [], ariaDescribedby} = props;\n\n const headerRow = columns.map((column, cIndex) => {\n const {title} = column;\n return (\n <th\n className={classnames(style[`header-${cIndex + 1}`])}\n key={`${title}-${cIndex + 1}`}\n role=\"columnheader\"\n >\n <div>{title}</div>\n </th>\n );\n });\n\n const headerView = [\n <th className={classnames(style[`header-0`])} key=\"header\">\n <div> {''}</div>\n </th>\n ].concat(headerRow);\n\n const bodyView = rows.map((row, index) => {\n const {fields = []} = row;\n\n const bodyRow = fields.map((field: string, fIndex: number) => {\n return (\n <td\n className={classnames(style.col, style[`col-${fIndex + 1}`])}\n key={`${field}-${fIndex}`}\n >\n {field || ''}\n </td>\n );\n });\n bodyRow.unshift(\n <td className={classnames(style.col, style[`col-0`])} key=\"header\">\n {index + 1}\n </td>\n );\n\n return <tr key={`line-${index}`}>{bodyRow}</tr>;\n });\n\n return (\n <table\n {...(ariaDescribedby ? {'aria-describedby': ariaDescribedby} : {})}\n className={style.table}\n >\n <thead className={style.thead}>\n <tr>{headerView}</tr>\n </thead>\n <tbody>{bodyView}</tbody>\n </table>\n );\n};\n\nErrorsTable.propTypes = propTypes;\n\nexport default ErrorsTable;\n"],"mappings":";;;;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,WAAW,GAAIC,KAAD,IAAkB;EACpC,MAAM;IAACC,OAAO,GAAG,EAAX;IAAeC,IAAI,GAAG,EAAtB;IAA0BC;EAA1B,IAA6CH,KAAnD;EAEA,MAAMI,SAAS,GAAGH,OAAO,CAACI,GAAR,CAAY,CAACC,MAAD,EAASC,MAAT,KAAoB;IAChD,MAAM;MAACC;IAAD,IAAUF,MAAhB;IACA,oBACE;MACE,SAAS,EAAE,IAAAG,mBAAA,EAAWC,cAAA,CAAO,UAASH,MAAM,GAAG,CAAE,EAA3B,CAAX,CADb;MAEE,GAAG,EAAG,GAAEC,KAAM,IAAGD,MAAM,GAAG,CAAE,EAF9B;MAGE,IAAI,EAAC;IAHP,gBAKE,0CAAMC,KAAN,CALF,CADF;EASD,CAXiB,CAAlB;EAaA,MAAMG,UAAU,GAAG,cACjB;IAAI,SAAS,EAAE,IAAAF,mBAAA,EAAWC,cAAA,CAAO,UAAP,CAAX,CAAf;IAA8C,GAAG,EAAC;EAAlD,gBACE,+CAAO,EAAP,CADF,CADiB,EAIjBE,MAJiB,CAIVR,SAJU,CAAnB;EAMA,MAAMS,QAAQ,GAAGX,IAAI,CAACG,GAAL,CAAS,CAACS,GAAD,EAAMC,KAAN,KAAgB;IACxC,MAAM;MAACC,MAAM,GAAG;IAAV,IAAgBF,GAAtB;IAEA,MAAMG,OAAO,GAAGD,MAAM,CAACX,GAAP,CAAW,CAACa,KAAD,EAAgBC,MAAhB,KAAmC;MAC5D,oBACE;QACE,SAAS,EAAE,IAAAV,mBAAA,EAAWC,cAAA,CAAMU,GAAjB,EAAsBV,cAAA,CAAO,OAAMS,MAAM,GAAG,CAAE,EAAxB,CAAtB,CADb;QAEE,GAAG,EAAG,GAAED,KAAM,IAAGC,MAAO;MAF1B,GAIGD,KAAK,IAAI,EAJZ,CADF;IAQD,CATe,CAAhB;IAUAD,OAAO,CAACI,OAAR,eACE;MAAI,SAAS,EAAE,IAAAZ,mBAAA,EAAWC,cAAA,CAAMU,GAAjB,EAAsBV,cAAA,CAAO,OAAP,CAAtB,CAAf;MAAsD,GAAG,EAAC;IAA1D,GACGK,KAAK,GAAG,CADX,CADF;IAMA,oBAAO;MAAI,GAAG,EAAG,QAAOA,KAAM;IAAvB,GAA2BE,OAA3B,CAAP;EACD,CApBgB,CAAjB;EAsBA,oBACE,mDACOd,eAAe,GAAG;IAAC,oBAAoBA;EAArB,CAAH,GAA2C,EADjE;IAEE,SAAS,EAAEO,cAAA,CAAMY;EAFnB,iBAIE;IAAO,SAAS,EAAEZ,cAAA,CAAMa;EAAxB,gBACE,yCAAKZ,UAAL,CADF,CAJF,eAOE,4CAAQE,QAAR,CAPF,CADF;AAWD,CAvDD;;AAyDAd,WAAW,CAACyB,SAAZ,2CAAwBA,gBAAxB;eAEezB,W"}
@@ -0,0 +1,64 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value xtraLightGrey from colors;
3
+ @value cm_grey_400 from colors;
4
+ @value cm_grey_700 from colors;
5
+ @value cm_negative_red_200 from colors;
6
+ @value light from colors;
7
+
8
+ .table {
9
+ border: 1px solid light;
10
+ font-family: 'Gilroy';
11
+ font-style: normal;
12
+ border-spacing: 0;
13
+ border-radius: 8px;
14
+ overflow: hidden;
15
+ width: 100%;
16
+ }
17
+
18
+ .table .thead {
19
+ background-color: xtraLightGrey;
20
+ font-weight: 600;
21
+ font-size: 14px;
22
+ line-height: 24px;
23
+ color: cm_grey_400;
24
+ height: 40px;
25
+ overflow: hidden;
26
+ text-align: left;
27
+ }
28
+
29
+ .table .col {
30
+ text-align: left;
31
+ padding-top: 8px;
32
+ padding-bottom: 8px;
33
+ position: relative;
34
+ font-weight: 500;
35
+ font-size: 12px;
36
+ line-height: 16px;
37
+ color: cm_grey_700;
38
+ border-top: 1px solid light;
39
+ }
40
+
41
+ .table .header-0 {
42
+ width: 57px;
43
+ }
44
+
45
+ .table .header-1 {
46
+ width: 182px;
47
+ }
48
+
49
+ .table .col-2 {
50
+ color: cm_negative_red_200;
51
+ }
52
+
53
+ .table .col-1 {
54
+ width: 182px;
55
+ }
56
+
57
+ .table .col-0 {
58
+ text-align: center;
59
+ font-weight: 600;
60
+ font-size: 12px;
61
+ line-height: 16px;
62
+ width: 57px;
63
+ color: cm_grey_400;
64
+ }
@@ -0,0 +1,24 @@
1
+ import PropTypes from 'prop-types';
2
+ export declare const propTypes: {
3
+ columns: PropTypes.Requireable<(PropTypes.InferProps<{
4
+ title: PropTypes.Validator<string>;
5
+ }> | null | undefined)[]>;
6
+ rows: PropTypes.Requireable<(PropTypes.InferProps<{
7
+ fields: PropTypes.Requireable<(string | null | undefined)[]>;
8
+ }> | null | undefined)[]>;
9
+ ariaDescribedby: PropTypes.Requireable<string>;
10
+ };
11
+ export declare type Column = {
12
+ title: string;
13
+ };
14
+ export declare type Row = {
15
+ fields: string[];
16
+ };
17
+ export declare type Columns = [Column, Column];
18
+ export declare type Rows = Row[];
19
+ export declare type Props = {
20
+ columns: Columns;
21
+ rows: Rows;
22
+ ariaDescribedby?: string;
23
+ };
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/errors-table/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,eAAO,MAAM,SAAS;;;;;;;;CAIrB,CAAC;AAEF,oBAAY,MAAM,GAAG;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC;AACrC,oBAAY,GAAG,GAAG;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAC,CAAC;AACrC,oBAAY,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvC,oBAAY,IAAI,GAAG,GAAG,EAAE,CAAC;AAEzB,oBAAY,KAAK,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.propTypes = void 0;
5
+
6
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
+
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+
10
+ const columnProptypes = _propTypes.default.shape({
11
+ title: _propTypes.default.string.isRequired
12
+ });
13
+
14
+ const rowProptypes = _propTypes.default.shape({
15
+ fields: _propTypes.default.arrayOf(_propTypes.default.string)
16
+ });
17
+
18
+ const propTypes = {
19
+ columns: _propTypes.default.arrayOf(columnProptypes),
20
+ rows: _propTypes.default.arrayOf(rowProptypes),
21
+ ariaDescribedby: _propTypes.default.string
22
+ };
23
+ exports.propTypes = propTypes;
24
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":["columnProptypes","PropTypes","shape","title","string","isRequired","rowProptypes","fields","arrayOf","propTypes","columns","rows","ariaDescribedby"],"sources":["../../../src/molecule/errors-table/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst columnProptypes = PropTypes.shape({\n title: PropTypes.string.isRequired\n});\n\nconst rowProptypes = PropTypes.shape({\n fields: PropTypes.arrayOf(PropTypes.string)\n});\n\nexport const propTypes = {\n columns: PropTypes.arrayOf(columnProptypes),\n rows: PropTypes.arrayOf(rowProptypes),\n ariaDescribedby: PropTypes.string\n};\n\nexport type Column = {title: string};\nexport type Row = {fields: string[]};\nexport type Columns = [Column, Column];\nexport type Rows = Row[];\n\nexport type Props = {\n columns: Columns;\n rows: Rows;\n ariaDescribedby?: string;\n};\n"],"mappings":";;;;;AAAA;;;;AAEA,MAAMA,eAAe,GAAGC,kBAAA,CAAUC,KAAV,CAAgB;EACtCC,KAAK,EAAEF,kBAAA,CAAUG,MAAV,CAAiBC;AADc,CAAhB,CAAxB;;AAIA,MAAMC,YAAY,GAAGL,kBAAA,CAAUC,KAAV,CAAgB;EACnCK,MAAM,EAAEN,kBAAA,CAAUO,OAAV,CAAkBP,kBAAA,CAAUG,MAA5B;AAD2B,CAAhB,CAArB;;AAIO,MAAMK,SAAS,GAAG;EACvBC,OAAO,EAAET,kBAAA,CAAUO,OAAV,CAAkBR,eAAlB,CADc;EAEvBW,IAAI,EAAEV,kBAAA,CAAUO,OAAV,CAAkBF,YAAlB,CAFiB;EAGvBM,eAAe,EAAEX,kBAAA,CAAUG;AAHJ,CAAlB"}
@@ -501,6 +501,7 @@ class MoocHeader extends _react.default.Component {
501
501
  selectProps.title = '';
502
502
  selectProps.theme = 'header';
503
503
  selectProps.onChange = options.onChange;
504
+ selectProps.className = _style.default.languageSelect;
504
505
  settingView = /*#__PURE__*/_react.default.createElement("div", {
505
506
  "data-name": `setting-${settingName}`,
506
507
  className: _style.default.setting,
@@ -524,12 +525,12 @@ class MoocHeader extends _react.default.Component {
524
525
  className: _style.default.setting,
525
526
  key: settingName,
526
527
  "aria-label": ariaLabel || title
527
- }, /*#__PURE__*/_react.default.createElement("span", {
528
+ }, /*#__PURE__*/_react.default.createElement(_inputSwitch.default, _extends({}, switchProps, {
529
+ "aria-labelledby": `title-id-${settingName}`
530
+ })), /*#__PURE__*/_react.default.createElement("span", {
528
531
  id: `title-id-${settingName}`,
529
532
  className: _style.default.label
530
- }, title), /*#__PURE__*/_react.default.createElement(_inputSwitch.default, _extends({}, switchProps, {
531
- "aria-labelledby": `title-id-${settingName}`
532
- })));
533
+ }, title));
533
534
  break;
534
535
  }
535
536
  }