@coorpacademy/components 11.32.49 → 11.32.50
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/style.css +9 -1
- package/es/molecule/banner/index.d.ts +5 -4
- package/es/molecule/banner/index.d.ts.map +1 -1
- package/es/molecule/banner/index.js +93 -37
- package/es/molecule/banner/index.js.map +1 -1
- package/es/molecule/banner/style.css +27 -5
- package/es/template/back-office/brand-update/index.d.ts +5 -4
- package/es/template/playlist-detail/index.d.ts +1 -0
- package/es/template/playlist-detail/index.d.ts.map +1 -1
- package/es/template/playlist-detail/index.js +6 -3
- package/es/template/playlist-detail/index.js.map +1 -1
- package/es/template/skill-detail/all-courses.css +4 -0
- package/es/template/skill-detail/all-courses.d.ts +1 -0
- package/es/template/skill-detail/all-courses.d.ts.map +1 -1
- package/es/template/skill-detail/all-courses.js +16 -3
- package/es/template/skill-detail/all-courses.js.map +1 -1
- package/es/template/skill-detail/index.d.ts +1 -0
- package/es/template/skill-detail/index.d.ts.map +1 -1
- package/es/template/skill-detail/index.js +6 -3
- package/es/template/skill-detail/index.js.map +1 -1
- package/es/variables/colors.d.ts +3 -0
- package/es/variables/colors.d.ts.map +1 -1
- package/es/variables/colors.js +3 -0
- package/es/variables/colors.js.map +1 -1
- package/lib/atom/input-switch/style.css +9 -1
- package/lib/molecule/banner/index.d.ts +5 -4
- package/lib/molecule/banner/index.d.ts.map +1 -1
- package/lib/molecule/banner/index.js +105 -38
- package/lib/molecule/banner/index.js.map +1 -1
- package/lib/molecule/banner/style.css +27 -5
- package/lib/template/back-office/brand-update/index.d.ts +5 -4
- package/lib/template/playlist-detail/index.d.ts +1 -0
- package/lib/template/playlist-detail/index.d.ts.map +1 -1
- package/lib/template/playlist-detail/index.js +6 -3
- package/lib/template/playlist-detail/index.js.map +1 -1
- package/lib/template/skill-detail/all-courses.css +4 -0
- package/lib/template/skill-detail/all-courses.d.ts +1 -0
- package/lib/template/skill-detail/all-courses.d.ts.map +1 -1
- package/lib/template/skill-detail/all-courses.js +17 -3
- package/lib/template/skill-detail/all-courses.js.map +1 -1
- package/lib/template/skill-detail/index.d.ts +1 -0
- package/lib/template/skill-detail/index.d.ts.map +1 -1
- package/lib/template/skill-detail/index.js +6 -3
- package/lib/template/skill-detail/index.js.map +1 -1
- package/lib/variables/colors.d.ts +3 -0
- package/lib/variables/colors.d.ts.map +1 -1
- package/lib/variables/colors.js +3 -0
- package/lib/variables/colors.js.map +1 -1
- package/locales/bs/global.json +2 -0
- package/locales/cs/global.json +2 -0
- package/locales/de/global.json +2 -0
- package/locales/en/global.json +2 -0
- package/locales/es/global.json +2 -0
- package/locales/et/global.json +2 -0
- package/locales/fi/global.json +2 -0
- package/locales/fr/global.json +2 -0
- package/locales/hr/global.json +2 -0
- package/locales/hu/global.json +2 -0
- package/locales/hy/global.json +2 -0
- package/locales/it/global.json +2 -0
- package/locales/ja/global.json +2 -0
- package/locales/ko/global.json +2 -0
- package/locales/nl/global.json +2 -0
- package/locales/pl/global.json +2 -0
- package/locales/pt/global.json +2 -0
- package/locales/ro/global.json +2 -0
- package/locales/ru/global.json +2 -0
- package/locales/sk/global.json +2 -0
- package/locales/sl/global.json +2 -0
- package/locales/sv/global.json +2 -0
- package/locales/tl/global.json +2 -0
- package/locales/tr/global.json +2 -0
- package/locales/uk/global.json +2 -0
- package/locales/vi/global.json +2 -0
- package/locales/zh/global.json +2 -0
- package/locales/zh_TW/global.json +2 -0
- package/package.json +2 -2
|
@@ -69,7 +69,8 @@ const SkillDetail = (props, context) => {
|
|
|
69
69
|
sorting,
|
|
70
70
|
onBackClick,
|
|
71
71
|
onReviewClick,
|
|
72
|
-
onContinueLearningClick
|
|
72
|
+
onContinueLearningClick,
|
|
73
|
+
bannerMicrolearningRuleAction = null
|
|
73
74
|
} = props;
|
|
74
75
|
const descriptionRef = useRef(null);
|
|
75
76
|
const {
|
|
@@ -175,7 +176,8 @@ const SkillDetail = (props, context) => {
|
|
|
175
176
|
content: skillIncludedCourses,
|
|
176
177
|
filters: filters,
|
|
177
178
|
sorting: sorting,
|
|
178
|
-
totalContents: totalContents
|
|
179
|
+
totalContents: totalContents,
|
|
180
|
+
bannerMicrolearningRuleAction: bannerMicrolearningRuleAction
|
|
179
181
|
})));
|
|
180
182
|
};
|
|
181
183
|
|
|
@@ -203,7 +205,8 @@ SkillDetail.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
203
205
|
sorting: PropTypes.shape(Select.propTypes),
|
|
204
206
|
onBackClick: PropTypes.func,
|
|
205
207
|
onReviewClick: PropTypes.func,
|
|
206
|
-
onContinueLearningClick: PropTypes.func
|
|
208
|
+
onContinueLearningClick: PropTypes.func,
|
|
209
|
+
bannerMicrolearningRuleAction: PropTypes.func
|
|
207
210
|
} : {};
|
|
208
211
|
export default SkillDetail;
|
|
209
212
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useState","useRef","useEffect","PropTypes","convert","classnames","Markdown","Provider","Select","SelectOptionPropTypes","ButtonLink","ButtonLinkIcon","Icon","CardsGrid","style","AllCourses","ContinueLearningButton","props","context","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","width","borderRadius","backgroundColor","position","faIcon","name","color","size","contextTypes","childContextTypes","propTypes","bool","func","SkillDetail","title","skillRef","description","metrics","focused","availableForReview","skillIncludedCourses","filters","sorting","onBackClick","onReviewClick","onContinueLearningClick","descriptionRef","score","questionsToReview","totalContents","isDescriptionTruncated","setIsDescriptionTruncated","showMore","setShowMore","handleShowMore","current","clientHeight","scrollHeight","Description","truncate","ProgressBar","undefined","progressBarColor","inlineProgressValueStyle","progressBarWrapper","progress","backgroundContainer","container","backButton","ctaContainer","skillFocusBadge","faSize","wrapperSize","showMoreWrapper","ctaWrapper","skillInformation","skillInformationNumber","progressContainer","progressInformationNumber","toFixed","string","isRequired","shape","number","onChange","options","arrayOf"],"sources":["../../../src/template/skill-detail/index.js"],"sourcesContent":["import React, {useCallback, useState, useRef, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {get, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport style from './style.css';\nimport AllCourses from './all-courses';\n\nexport const ContinueLearningButton = (props, context) => {\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <div>\n <ButtonLink\n label={\n ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning')\n }\n type=\"primary\"\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)}\n hoverColor=\"#FFFFFF\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'play',\n color: '#FFFFFF',\n size: 16\n }\n }}\n onClick={onClick}\n />\n </div>\n );\n};\n\nContinueLearningButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearningButton.propTypes = {\n ongoingCoursesAvailable: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nconst SkillDetail = (props, context) => {\n const {\n title,\n skillRef,\n description,\n metrics = {},\n focused,\n availableForReview,\n ongoingCoursesAvailable,\n skillIncludedCourses,\n filters,\n sorting,\n onBackClick,\n onReviewClick,\n onContinueLearningClick\n } = props;\n const descriptionRef = useRef(null);\n const {score = 0, questionsToReview, totalContents} = metrics;\n const {translate} = context;\n\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n className={classnames(style.description, !showMore && style.truncate)}\n >\n <Markdown>{description}</Markdown>\n </div>\n );\n }, [showMore, description]);\n\n const ProgressBar = useCallback(() => {\n if (score === undefined) return null;\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressBarWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n role=\"progressbar\"\n />\n </div>\n );\n }, [score]);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={skillRef}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n <div className={style.ctaContainer}>\n <div>\n {focused ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {translate('skill_focus')}\n </div>\n ) : null}\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {showMore ? translate('Show less') : translate('Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{\n faSize: 14,\n wrapperSize: 16\n }}\n />\n </div>\n ) : null}\n </>\n ) : null}\n </div>\n\n <div className={style.ctaWrapper}>\n <ButtonLink\n type=\"secondary\"\n onClick={onReviewClick}\n label={translate('review_this_skill')}\n disabled={!availableForReview}\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px'\n }}\n />\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n {questionsToReview > 0 ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{questionsToReview}</span>\n {translate('skill_chart_side_panel_questions_to_review')}\n </div>\n ) : null}\n <div className={style.progressContainer}>\n <ProgressBar />\n <span className={style.progressInformationNumber}>{score.toFixed(1)}%</span>\n </div>\n <AllCourses\n content={skillIncludedCourses}\n filters={filters}\n sorting={sorting}\n totalContents={totalContents}\n />\n </div>\n </div>\n );\n};\n\nSkillDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nSkillDetail.propTypes = {\n title: PropTypes.string.isRequired,\n skillRef: PropTypes.string.isRequired,\n description: PropTypes.string,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n questionsToReview: PropTypes.number,\n totalContents: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCoursesAvailable: PropTypes.bool,\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default SkillDetail;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useState","useRef","useEffect","PropTypes","convert","classnames","Markdown","Provider","Select","SelectOptionPropTypes","ButtonLink","ButtonLinkIcon","Icon","CardsGrid","style","AllCourses","ContinueLearningButton","props","context","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","width","borderRadius","backgroundColor","position","faIcon","name","color","size","contextTypes","childContextTypes","propTypes","bool","func","SkillDetail","title","skillRef","description","metrics","focused","availableForReview","skillIncludedCourses","filters","sorting","onBackClick","onReviewClick","onContinueLearningClick","bannerMicrolearningRuleAction","descriptionRef","score","questionsToReview","totalContents","isDescriptionTruncated","setIsDescriptionTruncated","showMore","setShowMore","handleShowMore","current","clientHeight","scrollHeight","Description","truncate","ProgressBar","undefined","progressBarColor","inlineProgressValueStyle","progressBarWrapper","progress","backgroundContainer","container","backButton","ctaContainer","skillFocusBadge","faSize","wrapperSize","showMoreWrapper","ctaWrapper","skillInformation","skillInformationNumber","progressContainer","progressInformationNumber","toFixed","string","isRequired","shape","number","onChange","options","arrayOf"],"sources":["../../../src/template/skill-detail/index.js"],"sourcesContent":["import React, {useCallback, useState, useRef, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {get, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport style from './style.css';\nimport AllCourses from './all-courses';\n\nexport const ContinueLearningButton = (props, context) => {\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <div>\n <ButtonLink\n label={\n ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning')\n }\n type=\"primary\"\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)}\n hoverColor=\"#FFFFFF\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'play',\n color: '#FFFFFF',\n size: 16\n }\n }}\n onClick={onClick}\n />\n </div>\n );\n};\n\nContinueLearningButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearningButton.propTypes = {\n ongoingCoursesAvailable: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nconst SkillDetail = (props, context) => {\n const {\n title,\n skillRef,\n description,\n metrics = {},\n focused,\n availableForReview,\n ongoingCoursesAvailable,\n skillIncludedCourses,\n filters,\n sorting,\n onBackClick,\n onReviewClick,\n onContinueLearningClick,\n bannerMicrolearningRuleAction = null\n } = props;\n const descriptionRef = useRef(null);\n const {score = 0, questionsToReview, totalContents} = metrics;\n const {translate} = context;\n\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n className={classnames(style.description, !showMore && style.truncate)}\n >\n <Markdown>{description}</Markdown>\n </div>\n );\n }, [showMore, description]);\n\n const ProgressBar = useCallback(() => {\n if (score === undefined) return null;\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressBarWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n role=\"progressbar\"\n />\n </div>\n );\n }, [score]);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={skillRef}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n <div className={style.ctaContainer}>\n <div>\n {focused ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {translate('skill_focus')}\n </div>\n ) : null}\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {showMore ? translate('Show less') : translate('Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{\n faSize: 14,\n wrapperSize: 16\n }}\n />\n </div>\n ) : null}\n </>\n ) : null}\n </div>\n\n <div className={style.ctaWrapper}>\n <ButtonLink\n type=\"secondary\"\n onClick={onReviewClick}\n label={translate('review_this_skill')}\n disabled={!availableForReview}\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px'\n }}\n />\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n {questionsToReview > 0 ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{questionsToReview}</span>\n {translate('skill_chart_side_panel_questions_to_review')}\n </div>\n ) : null}\n <div className={style.progressContainer}>\n <ProgressBar />\n <span className={style.progressInformationNumber}>{score.toFixed(1)}%</span>\n </div>\n <AllCourses\n content={skillIncludedCourses}\n filters={filters}\n sorting={sorting}\n totalContents={totalContents}\n bannerMicrolearningRuleAction={bannerMicrolearningRuleAction}\n />\n </div>\n </div>\n );\n};\n\nSkillDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nSkillDetail.propTypes = {\n title: PropTypes.string.isRequired,\n skillRef: PropTypes.string.isRequired,\n description: PropTypes.string,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n questionsToReview: PropTypes.number,\n totalContents: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCoursesAvailable: PropTypes.bool,\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func,\n bannerMicrolearningRuleAction: PropTypes.func\n};\n\nexport default SkillDetail;\n"],"mappings":"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"}
|
package/es/variables/colors.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
export declare const COLORS: {
|
|
2
2
|
readonly gray: "#EAEAEB";
|
|
3
3
|
readonly negative: "#ed3436";
|
|
4
|
+
readonly cm_negative_200: "#B81400";
|
|
4
5
|
readonly positive: "#35CC7F";
|
|
6
|
+
readonly cm_positive_200: "#05944F";
|
|
5
7
|
readonly white: "#ffffff";
|
|
6
8
|
readonly cm_grey_800: "#171721";
|
|
7
9
|
readonly cm_primary_blue: "#0061FF";
|
|
8
10
|
readonly cm_grey_500: "#515161";
|
|
11
|
+
readonly cm_yellow_400: "#bd7e00";
|
|
9
12
|
readonly brand: "#00B0FF";
|
|
10
13
|
};
|
|
11
14
|
export declare type Colors = typeof COLORS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/variables/colors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/variables/colors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;CAYT,CAAC;AAEX,oBAAY,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
package/es/variables/colors.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
export const COLORS = {
|
|
2
2
|
gray: '#EAEAEB',
|
|
3
3
|
negative: '#ed3436',
|
|
4
|
+
cm_negative_200: '#B81400',
|
|
4
5
|
positive: '#35CC7F',
|
|
6
|
+
cm_positive_200: '#05944F',
|
|
5
7
|
white: '#ffffff',
|
|
6
8
|
cm_grey_800: '#171721',
|
|
7
9
|
cm_primary_blue: '#0061FF',
|
|
8
10
|
cm_grey_500: '#515161',
|
|
11
|
+
cm_yellow_400: '#bd7e00',
|
|
9
12
|
brand: '#00B0FF'
|
|
10
13
|
};
|
|
11
14
|
//# sourceMappingURL=colors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","names":["COLORS","gray","negative","positive","white","cm_grey_800","cm_primary_blue","cm_grey_500","brand"],"sources":["../../src/variables/colors.ts"],"sourcesContent":["export const COLORS = {\n gray: '#EAEAEB',\n negative: '#ed3436',\n positive: '#35CC7F',\n white: '#ffffff',\n cm_grey_800: '#171721',\n cm_primary_blue: '#0061FF',\n cm_grey_500: '#515161',\n brand: '#00B0FF'\n} as const;\n\nexport type Colors = typeof COLORS;\n"],"mappings":"AAAA,OAAO,MAAMA,MAAM,GAAG;EACpBC,IAAI,EAAE,SADc;EAEpBC,QAAQ,EAAE,SAFU;EAGpBC,
|
|
1
|
+
{"version":3,"file":"colors.js","names":["COLORS","gray","negative","cm_negative_200","positive","cm_positive_200","white","cm_grey_800","cm_primary_blue","cm_grey_500","cm_yellow_400","brand"],"sources":["../../src/variables/colors.ts"],"sourcesContent":["export const COLORS = {\n gray: '#EAEAEB',\n negative: '#ed3436',\n cm_negative_200: '#B81400',\n positive: '#35CC7F',\n cm_positive_200: '#05944F',\n white: '#ffffff',\n cm_grey_800: '#171721',\n cm_primary_blue: '#0061FF',\n cm_grey_500: '#515161',\n cm_yellow_400: '#bd7e00',\n brand: '#00B0FF'\n} as const;\n\nexport type Colors = typeof COLORS;\n"],"mappings":"AAAA,OAAO,MAAMA,MAAM,GAAG;EACpBC,IAAI,EAAE,SADc;EAEpBC,QAAQ,EAAE,SAFU;EAGpBC,eAAe,EAAE,SAHG;EAIpBC,QAAQ,EAAE,SAJU;EAKpBC,eAAe,EAAE,SALG;EAMpBC,KAAK,EAAE,SANa;EAOpBC,WAAW,EAAE,SAPO;EAQpBC,eAAe,EAAE,SARG;EASpBC,WAAW,EAAE,SATO;EAUpBC,aAAa,EAAE,SAVK;EAWpBC,KAAK,EAAE;AAXa,CAAf"}
|
|
@@ -86,6 +86,10 @@
|
|
|
86
86
|
left: 30px;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
.coorpmanager input:checked ~ label::after {
|
|
90
|
+
left: 23px;
|
|
91
|
+
}
|
|
92
|
+
|
|
89
93
|
.checkbox:disabled ~ label {
|
|
90
94
|
background: light;
|
|
91
95
|
pointer-events: none;
|
|
@@ -108,6 +112,10 @@
|
|
|
108
112
|
min-height: 24px;
|
|
109
113
|
}
|
|
110
114
|
|
|
115
|
+
.coorpmanager .title {
|
|
116
|
+
width: fit-content;
|
|
117
|
+
}
|
|
118
|
+
|
|
111
119
|
.description {
|
|
112
120
|
font-family: 'Gilroy';
|
|
113
121
|
font-weight: 500;
|
|
@@ -126,6 +134,7 @@
|
|
|
126
134
|
}
|
|
127
135
|
|
|
128
136
|
.coorpmanager label::after, .coorpmanagerModified label::after {
|
|
137
|
+
top: 1px;
|
|
129
138
|
width: 22px;
|
|
130
139
|
height: 22px;
|
|
131
140
|
}
|
|
@@ -134,7 +143,6 @@
|
|
|
134
143
|
font-family: Gilroy;
|
|
135
144
|
font-weight: bold;
|
|
136
145
|
color: black;
|
|
137
|
-
min-width: 190px;
|
|
138
146
|
}
|
|
139
147
|
|
|
140
148
|
.coorpmanager .checkbox:checked ~ label {
|
|
@@ -5,10 +5,11 @@ declare namespace Banner {
|
|
|
5
5
|
const bannerKey: PropTypes.Requireable<string>;
|
|
6
6
|
const type: PropTypes.Requireable<string>;
|
|
7
7
|
const message: PropTypes.Validator<string>;
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const cta: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
9
|
+
label: PropTypes.Requireable<string>;
|
|
10
|
+
type: PropTypes.Requireable<string>;
|
|
11
|
+
action: PropTypes.Requireable<(...args: any[]) => any>;
|
|
12
|
+
}> | null | undefined)[]>;
|
|
12
13
|
const temporary: PropTypes.Requireable<boolean>;
|
|
13
14
|
const onEnd: PropTypes.Requireable<(...args: any[]) => any>;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/banner/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/banner/index.js"],"names":[],"mappings":";AA0BA,iDAmFC"}
|
|
@@ -3,46 +3,124 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
5
|
|
|
6
|
+
var _size2 = _interopRequireDefault(require("lodash/fp/size"));
|
|
7
|
+
|
|
8
|
+
var _map2 = _interopRequireDefault(require("lodash/fp/map"));
|
|
9
|
+
|
|
10
|
+
var _isEmpty2 = _interopRequireDefault(require("lodash/fp/isEmpty"));
|
|
11
|
+
|
|
12
|
+
var _noop2 = _interopRequireDefault(require("lodash/fp/noop"));
|
|
13
|
+
|
|
6
14
|
var _keys2 = _interopRequireDefault(require("lodash/fp/keys"));
|
|
7
15
|
|
|
8
|
-
var _react =
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
17
|
|
|
10
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
19
|
|
|
12
20
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
21
|
|
|
14
|
-
var
|
|
22
|
+
var _colors = require("../../variables/colors");
|
|
15
23
|
|
|
16
24
|
var _buttonLink = _interopRequireDefault(require("../../atom/button-link"));
|
|
17
25
|
|
|
26
|
+
var _icon = _interopRequireDefault(require("../../atom/icon"));
|
|
27
|
+
|
|
28
|
+
var _inputSwitch = _interopRequireDefault(require("../../atom/input-switch"));
|
|
29
|
+
|
|
18
30
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
19
31
|
|
|
32
|
+
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); }
|
|
33
|
+
|
|
34
|
+
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; }
|
|
35
|
+
|
|
20
36
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
37
|
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
38
|
+
const uncappedMap = _map2.default.convert({
|
|
39
|
+
cap: false
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const TYPES = {
|
|
43
|
+
success: ['circle-check', _colors.COLORS.cm_positive_200],
|
|
44
|
+
error: ['triangle-exclamation', _colors.COLORS.cm_negative_200],
|
|
45
|
+
warning: ['circle-exclamation', _colors.COLORS.cm_yellow_400],
|
|
46
|
+
info: ['circle-info', _colors.COLORS.cm_grey_500]
|
|
26
47
|
};
|
|
27
48
|
const STYLES = {
|
|
28
49
|
success: _style.default.success,
|
|
29
50
|
error: _style.default.error,
|
|
30
|
-
warning: _style.default.warning
|
|
51
|
+
warning: _style.default.warning,
|
|
52
|
+
info: _style.default.info
|
|
31
53
|
};
|
|
32
54
|
|
|
33
55
|
const Banner = props => {
|
|
34
56
|
const {
|
|
35
57
|
type,
|
|
36
58
|
message,
|
|
37
|
-
|
|
38
|
-
firstCTALabel,
|
|
39
|
-
secondCTALabel,
|
|
40
|
-
secondCTA,
|
|
59
|
+
cta = [],
|
|
41
60
|
temporary,
|
|
42
61
|
bannerKey,
|
|
43
62
|
onEnd
|
|
44
63
|
} = props;
|
|
45
|
-
const
|
|
64
|
+
const [switchValue, setSwitchValue] = (0, _react.useState)(false);
|
|
65
|
+
|
|
66
|
+
const ButtonSeparator = /*#__PURE__*/_react.default.createElement("div", {
|
|
67
|
+
className: (0, _classnames.default)(_style.default.buttonsBar, STYLES[type])
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
const handleSwitchToggle = (0, _react.useCallback)(action => e => {
|
|
71
|
+
const newSwitchValue = !switchValue;
|
|
72
|
+
setSwitchValue(newSwitchValue);
|
|
73
|
+
action(newSwitchValue);
|
|
74
|
+
}, [switchValue]);
|
|
75
|
+
|
|
76
|
+
const buildButton = ({
|
|
77
|
+
type: buttonType = 'button',
|
|
78
|
+
label,
|
|
79
|
+
action = _noop2.default
|
|
80
|
+
}) => {
|
|
81
|
+
const commonStyle = (0, _classnames.default)(_style.default.button, STYLES[type]);
|
|
82
|
+
|
|
83
|
+
switch (buttonType) {
|
|
84
|
+
case 'switch':
|
|
85
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
86
|
+
className: commonStyle
|
|
87
|
+
}, /*#__PURE__*/_react.default.createElement(_inputSwitch.default, {
|
|
88
|
+
id: "show-microlearning-switch",
|
|
89
|
+
theme: "coorpmanager",
|
|
90
|
+
title: label,
|
|
91
|
+
value: switchValue,
|
|
92
|
+
onChange: handleSwitchToggle(action),
|
|
93
|
+
"data-name": `banner-switch-cta`,
|
|
94
|
+
"aria-label": label
|
|
95
|
+
}));
|
|
96
|
+
|
|
97
|
+
default:
|
|
98
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
99
|
+
className: commonStyle
|
|
100
|
+
}, /*#__PURE__*/_react.default.createElement(_buttonLink.default, {
|
|
101
|
+
"data-name": "banner-button-cta",
|
|
102
|
+
"aria-label": label,
|
|
103
|
+
label: label,
|
|
104
|
+
onClick: action,
|
|
105
|
+
type: "text",
|
|
106
|
+
customStyle: {
|
|
107
|
+
padding: 0
|
|
108
|
+
}
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
const buildCta = ctaOptions => {
|
|
114
|
+
return uncappedMap((options, i) => {
|
|
115
|
+
if ((0, _isEmpty2.default)(options)) return null;
|
|
116
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
117
|
+
className: _style.default.ctaWrapper,
|
|
118
|
+
key: i
|
|
119
|
+
}, i > 0 && i <= (0, _size2.default)(options) ? ButtonSeparator : null, buildButton(options));
|
|
120
|
+
}, ctaOptions);
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
const [iconName, iconColor] = TYPES[type];
|
|
46
124
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
47
125
|
key: bannerKey,
|
|
48
126
|
className: (0, _classnames.default)(_style.default.banner, STYLES[type], temporary && _style.default.temporaryBanner),
|
|
@@ -51,37 +129,26 @@ const Banner = props => {
|
|
|
51
129
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
52
130
|
"data-name": `${type}-banner-message`,
|
|
53
131
|
className: _style.default.message
|
|
54
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
className: (0, _classnames.default)(_style.default.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
onClick: firstCTA,
|
|
63
|
-
type: "text"
|
|
64
|
-
})) : null, firstCTALabel && secondCTALabel ? /*#__PURE__*/_react.default.createElement("div", {
|
|
65
|
-
className: (0, _classnames.default)(_style.default.buttonsBar, STYLES[type])
|
|
66
|
-
}) : null, secondCTALabel ? /*#__PURE__*/_react.default.createElement("div", {
|
|
67
|
-
className: (0, _classnames.default)(_style.default.button, STYLES[type])
|
|
68
|
-
}, /*#__PURE__*/_react.default.createElement(_buttonLink.default, {
|
|
69
|
-
"data-name": "second-banner-cta",
|
|
70
|
-
onClick: secondCTA,
|
|
71
|
-
"aria-label": secondCTALabel,
|
|
72
|
-
label: secondCTALabel,
|
|
73
|
-
type: "text"
|
|
74
|
-
})) : null);
|
|
132
|
+
}, /*#__PURE__*/_react.default.createElement(_icon.default, {
|
|
133
|
+
iconName: iconName,
|
|
134
|
+
iconColor: iconColor,
|
|
135
|
+
className: (0, _classnames.default)(_style.default.icon, temporary && _style.default.temporaryIcon),
|
|
136
|
+
customStyle: {
|
|
137
|
+
padding: 0
|
|
138
|
+
}
|
|
139
|
+
}), message), buildCta(cta));
|
|
75
140
|
};
|
|
76
141
|
|
|
142
|
+
const ctaPropTypes = process.env.NODE_ENV !== "production" ? _propTypes.default.shape({
|
|
143
|
+
label: _propTypes.default.string,
|
|
144
|
+
type: _propTypes.default.oneOf(['button', 'switch']),
|
|
145
|
+
action: _propTypes.default.func
|
|
146
|
+
}) : {};
|
|
77
147
|
Banner.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
78
148
|
bannerKey: _propTypes.default.string,
|
|
79
|
-
type: _propTypes.default.oneOf((0, _keys2.default)(
|
|
149
|
+
type: _propTypes.default.oneOf((0, _keys2.default)(TYPES)),
|
|
80
150
|
message: _propTypes.default.string.isRequired,
|
|
81
|
-
|
|
82
|
-
firstCTALabel: _propTypes.default.string,
|
|
83
|
-
secondCTALabel: _propTypes.default.string,
|
|
84
|
-
secondCTA: _propTypes.default.func,
|
|
151
|
+
cta: _propTypes.default.arrayOf(ctaPropTypes),
|
|
85
152
|
temporary: _propTypes.default.bool,
|
|
86
153
|
onEnd: _propTypes.default.func
|
|
87
154
|
} : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["uncappedMap","convert","cap","TYPES","success","COLORS","cm_positive_200","error","cm_negative_200","warning","cm_yellow_400","info","cm_grey_500","STYLES","style","Banner","props","type","message","cta","temporary","bannerKey","onEnd","switchValue","setSwitchValue","useState","ButtonSeparator","classnames","buttonsBar","handleSwitchToggle","useCallback","action","e","newSwitchValue","buildButton","buttonType","label","commonStyle","button","padding","buildCta","ctaOptions","options","i","ctaWrapper","iconName","iconColor","banner","temporaryBanner","icon","temporaryIcon","ctaPropTypes","PropTypes","shape","string","oneOf","func","propTypes","isRequired","arrayOf","bool"],"sources":["../../../src/molecule/banner/index.js"],"sourcesContent":["import React, {useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {keys, noop, isEmpty, map, size} from 'lodash/fp';\nimport {COLORS} from '../../variables/colors';\nimport ButtonLink from '../../atom/button-link';\nimport Icon from '../../atom/icon';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst TYPES = {\n success: ['circle-check', COLORS.cm_positive_200],\n error: ['triangle-exclamation', COLORS.cm_negative_200],\n warning: ['circle-exclamation', COLORS.cm_yellow_400],\n info: ['circle-info', COLORS.cm_grey_500]\n};\n\nconst STYLES = {\n success: style.success,\n error: style.error,\n warning: style.warning,\n info: style.info\n};\n\nconst Banner = props => {\n const {type, message, cta = [], temporary, bannerKey, onEnd} = props;\n const [switchValue, setSwitchValue] = useState(false);\n\n const ButtonSeparator = <div className={classnames(style.buttonsBar, STYLES[type])} />;\n\n const handleSwitchToggle = useCallback(\n action => e => {\n const newSwitchValue = !switchValue;\n setSwitchValue(newSwitchValue);\n action(newSwitchValue);\n },\n [switchValue]\n );\n\n const buildButton = ({type: buttonType = 'button', label, action = noop}) => {\n const commonStyle = classnames(style.button, STYLES[type]);\n\n switch (buttonType) {\n case 'switch':\n return (\n <div className={commonStyle}>\n <InputSwitch\n id=\"show-microlearning-switch\"\n theme=\"coorpmanager\"\n title={label}\n value={switchValue}\n onChange={handleSwitchToggle(action)}\n data-name={`banner-switch-cta`}\n aria-label={label}\n />\n </div>\n );\n default:\n return (\n <div className={commonStyle}>\n <ButtonLink\n data-name=\"banner-button-cta\"\n aria-label={label}\n label={label}\n onClick={action}\n type=\"text\"\n customStyle={{padding: 0}}\n />\n </div>\n );\n }\n };\n\n const buildCta = ctaOptions => {\n return uncappedMap((options, i) => {\n if (isEmpty(options)) return null;\n\n return (\n <div className={style.ctaWrapper} key={i}>\n {i > 0 && i <= size(options) ? ButtonSeparator : null}\n {buildButton(options)}\n </div>\n );\n }, ctaOptions);\n };\n\n const [iconName, iconColor] = TYPES[type];\n\n return (\n <div\n key={bannerKey}\n className={classnames(style.banner, STYLES[type], temporary && style.temporaryBanner)}\n onAnimationEnd={onEnd}\n title={message}\n >\n <div data-name={`${type}-banner-message`} className={style.message}>\n <Icon\n iconName={iconName}\n iconColor={iconColor}\n className={classnames(style.icon, temporary && style.temporaryIcon)}\n customStyle={{padding: 0}}\n />\n {message}\n </div>\n {buildCta(cta)}\n </div>\n );\n};\n\nconst ctaPropTypes = PropTypes.shape({\n label: PropTypes.string,\n type: PropTypes.oneOf(['button', 'switch']),\n action: PropTypes.func\n});\n\nBanner.propTypes = {\n bannerKey: PropTypes.string,\n type: PropTypes.oneOf(keys(TYPES)),\n message: PropTypes.string.isRequired,\n cta: PropTypes.arrayOf(ctaPropTypes),\n temporary: PropTypes.bool,\n onEnd: PropTypes.func\n};\n\nexport default Banner;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,WAAW,GAAG,cAAIC,OAAJ,CAAY;EAACC,GAAG,EAAE;AAAN,CAAZ,CAApB;;AAEA,MAAMC,KAAK,GAAG;EACZC,OAAO,EAAE,CAAC,cAAD,EAAiBC,cAAA,CAAOC,eAAxB,CADG;EAEZC,KAAK,EAAE,CAAC,sBAAD,EAAyBF,cAAA,CAAOG,eAAhC,CAFK;EAGZC,OAAO,EAAE,CAAC,oBAAD,EAAuBJ,cAAA,CAAOK,aAA9B,CAHG;EAIZC,IAAI,EAAE,CAAC,aAAD,EAAgBN,cAAA,CAAOO,WAAvB;AAJM,CAAd;AAOA,MAAMC,MAAM,GAAG;EACbT,OAAO,EAAEU,cAAA,CAAMV,OADF;EAEbG,KAAK,EAAEO,cAAA,CAAMP,KAFA;EAGbE,OAAO,EAAEK,cAAA,CAAML,OAHF;EAIbE,IAAI,EAAEG,cAAA,CAAMH;AAJC,CAAf;;AAOA,MAAMI,MAAM,GAAGC,KAAK,IAAI;EACtB,MAAM;IAACC,IAAD;IAAOC,OAAP;IAAgBC,GAAG,GAAG,EAAtB;IAA0BC,SAA1B;IAAqCC,SAArC;IAAgDC;EAAhD,IAAyDN,KAA/D;EACA,MAAM,CAACO,WAAD,EAAcC,cAAd,IAAgC,IAAAC,eAAA,EAAS,KAAT,CAAtC;;EAEA,MAAMC,eAAe,gBAAG;IAAK,SAAS,EAAE,IAAAC,mBAAA,EAAWb,cAAA,CAAMc,UAAjB,EAA6Bf,MAAM,CAACI,IAAD,CAAnC;EAAhB,EAAxB;;EAEA,MAAMY,kBAAkB,GAAG,IAAAC,kBAAA,EACzBC,MAAM,IAAIC,CAAC,IAAI;IACb,MAAMC,cAAc,GAAG,CAACV,WAAxB;IACAC,cAAc,CAACS,cAAD,CAAd;IACAF,MAAM,CAACE,cAAD,CAAN;EACD,CALwB,EAMzB,CAACV,WAAD,CANyB,CAA3B;;EASA,MAAMW,WAAW,GAAG,CAAC;IAACjB,IAAI,EAAEkB,UAAU,GAAG,QAApB;IAA8BC,KAA9B;IAAqCL,MAAM;EAA3C,CAAD,KAAyD;IAC3E,MAAMM,WAAW,GAAG,IAAAV,mBAAA,EAAWb,cAAA,CAAMwB,MAAjB,EAAyBzB,MAAM,CAACI,IAAD,CAA/B,CAApB;;IAEA,QAAQkB,UAAR;MACE,KAAK,QAAL;QACE,oBACE;UAAK,SAAS,EAAEE;QAAhB,gBACE,6BAAC,oBAAD;UACE,EAAE,EAAC,2BADL;UAEE,KAAK,EAAC,cAFR;UAGE,KAAK,EAAED,KAHT;UAIE,KAAK,EAAEb,WAJT;UAKE,QAAQ,EAAEM,kBAAkB,CAACE,MAAD,CAL9B;UAME,aAAY,mBANd;UAOE,cAAYK;QAPd,EADF,CADF;;MAaF;QACE,oBACE;UAAK,SAAS,EAAEC;QAAhB,gBACE,6BAAC,mBAAD;UACE,aAAU,mBADZ;UAEE,cAAYD,KAFd;UAGE,KAAK,EAAEA,KAHT;UAIE,OAAO,EAAEL,MAJX;UAKE,IAAI,EAAC,MALP;UAME,WAAW,EAAE;YAACQ,OAAO,EAAE;UAAV;QANf,EADF,CADF;IAhBJ;EA6BD,CAhCD;;EAkCA,MAAMC,QAAQ,GAAGC,UAAU,IAAI;IAC7B,OAAOzC,WAAW,CAAC,CAAC0C,OAAD,EAAUC,CAAV,KAAgB;MACjC,IAAI,uBAAQD,OAAR,CAAJ,EAAsB,OAAO,IAAP;MAEtB,oBACE;QAAK,SAAS,EAAE5B,cAAA,CAAM8B,UAAtB;QAAkC,GAAG,EAAED;MAAvC,GACGA,CAAC,GAAG,CAAJ,IAASA,CAAC,IAAI,oBAAKD,OAAL,CAAd,GAA8BhB,eAA9B,GAAgD,IADnD,EAEGQ,WAAW,CAACQ,OAAD,CAFd,CADF;IAMD,CATiB,EASfD,UATe,CAAlB;EAUD,CAXD;;EAaA,MAAM,CAACI,QAAD,EAAWC,SAAX,IAAwB3C,KAAK,CAACc,IAAD,CAAnC;EAEA,oBACE;IACE,GAAG,EAAEI,SADP;IAEE,SAAS,EAAE,IAAAM,mBAAA,EAAWb,cAAA,CAAMiC,MAAjB,EAAyBlC,MAAM,CAACI,IAAD,CAA/B,EAAuCG,SAAS,IAAIN,cAAA,CAAMkC,eAA1D,CAFb;IAGE,cAAc,EAAE1B,KAHlB;IAIE,KAAK,EAAEJ;EAJT,gBAME;IAAK,aAAY,GAAED,IAAK,iBAAxB;IAA0C,SAAS,EAAEH,cAAA,CAAMI;EAA3D,gBACE,6BAAC,aAAD;IACE,QAAQ,EAAE2B,QADZ;IAEE,SAAS,EAAEC,SAFb;IAGE,SAAS,EAAE,IAAAnB,mBAAA,EAAWb,cAAA,CAAMmC,IAAjB,EAAuB7B,SAAS,IAAIN,cAAA,CAAMoC,aAA1C,CAHb;IAIE,WAAW,EAAE;MAACX,OAAO,EAAE;IAAV;EAJf,EADF,EAOGrB,OAPH,CANF,EAeGsB,QAAQ,CAACrB,GAAD,CAfX,CADF;AAmBD,CAnFD;;AAqFA,MAAMgC,YAAN,2CAAqBC,kBAAA,CAAUC,KAAV,CAAgB;EACnCjB,KAAK,EAAEgB,kBAAA,CAAUE,MADkB;EAEnCrC,IAAI,EAAEmC,kBAAA,CAAUG,KAAV,CAAgB,CAAC,QAAD,EAAW,QAAX,CAAhB,CAF6B;EAGnCxB,MAAM,EAAEqB,kBAAA,CAAUI;AAHiB,CAAhB,CAArB;AAMAzC,MAAM,CAAC0C,SAAP,2CAAmB;EACjBpC,SAAS,EAAE+B,kBAAA,CAAUE,MADJ;EAEjBrC,IAAI,EAAEmC,kBAAA,CAAUG,KAAV,CAAgB,oBAAKpD,KAAL,CAAhB,CAFW;EAGjBe,OAAO,EAAEkC,kBAAA,CAAUE,MAAV,CAAiBI,UAHT;EAIjBvC,GAAG,EAAEiC,kBAAA,CAAUO,OAAV,CAAkBR,YAAlB,CAJY;EAKjB/B,SAAS,EAAEgC,kBAAA,CAAUQ,IALJ;EAMjBtC,KAAK,EAAE8B,kBAAA,CAAUI;AANA,CAAnB;eASezC,M"}
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
@value cm_yellow_100 from colors;
|
|
13
13
|
@value cm_yellow_200 from colors;
|
|
14
14
|
@value cm_yellow_400 from colors;
|
|
15
|
+
@value cm_grey_100 from colors;
|
|
16
|
+
@value cm_grey_700 from colors;
|
|
15
17
|
|
|
16
18
|
@keyframes fadeIn {
|
|
17
19
|
0% {
|
|
@@ -33,11 +35,11 @@
|
|
|
33
35
|
.banner {
|
|
34
36
|
display: flex;
|
|
35
37
|
flex-direction: row;
|
|
36
|
-
justify-content: flex-start;
|
|
37
|
-
align-items: center;
|
|
38
|
+
justify-content: flex-start;
|
|
39
|
+
align-items: center;
|
|
38
40
|
gap: 8px;
|
|
39
|
-
padding: 16px
|
|
40
|
-
border-radius:
|
|
41
|
+
padding: 16px;
|
|
42
|
+
border-radius: 12px;
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
.banner.warning {
|
|
@@ -55,6 +57,11 @@
|
|
|
55
57
|
color: cm_positive_200;
|
|
56
58
|
}
|
|
57
59
|
|
|
60
|
+
.banner.info {
|
|
61
|
+
background-color: cm_grey_100;
|
|
62
|
+
color: cm_grey_700;
|
|
63
|
+
}
|
|
64
|
+
|
|
58
65
|
.temporaryBanner {
|
|
59
66
|
display: inline-flex;
|
|
60
67
|
align-items: center;
|
|
@@ -74,6 +81,11 @@
|
|
|
74
81
|
transform: translateX(-50%);
|
|
75
82
|
}
|
|
76
83
|
|
|
84
|
+
.ctaWrapper {
|
|
85
|
+
display: flex;
|
|
86
|
+
gap: 4px;
|
|
87
|
+
}
|
|
88
|
+
|
|
77
89
|
.button{
|
|
78
90
|
background-color: transparent;
|
|
79
91
|
white-space: nowrap;
|
|
@@ -103,7 +115,6 @@
|
|
|
103
115
|
color: color(cm_positive_100 blackness(+12%));
|
|
104
116
|
}
|
|
105
117
|
|
|
106
|
-
|
|
107
118
|
.buttonsBar {
|
|
108
119
|
width: 2px;
|
|
109
120
|
align-self: stretch;
|
|
@@ -123,6 +134,9 @@
|
|
|
123
134
|
background-color: cm_positive_100;
|
|
124
135
|
}
|
|
125
136
|
|
|
137
|
+
.buttonsBar.info {
|
|
138
|
+
background-color: cm_grey_700;
|
|
139
|
+
}
|
|
126
140
|
|
|
127
141
|
.icon {
|
|
128
142
|
height: 22px;
|
|
@@ -147,4 +161,12 @@
|
|
|
147
161
|
display: flex;
|
|
148
162
|
align-content: center;
|
|
149
163
|
align-items: center;
|
|
164
|
+
gap: 16px;
|
|
150
165
|
}
|
|
166
|
+
|
|
167
|
+
@media mobile {
|
|
168
|
+
.banner {
|
|
169
|
+
flex-wrap: wrap;
|
|
170
|
+
gap: 24px;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -9,10 +9,11 @@ declare namespace BrandUpdate {
|
|
|
9
9
|
bannerKey: PropTypes.Requireable<string>;
|
|
10
10
|
type: PropTypes.Requireable<string>;
|
|
11
11
|
message: PropTypes.Validator<string>;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
cta: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
13
|
+
label: PropTypes.Requireable<string>;
|
|
14
|
+
type: PropTypes.Requireable<string>;
|
|
15
|
+
action: PropTypes.Requireable<(...args: any[]) => any>;
|
|
16
|
+
}> | null | undefined)[]>;
|
|
16
17
|
temporary: PropTypes.Requireable<boolean>;
|
|
17
18
|
onEnd: PropTypes.Requireable<(...args: any[]) => any>;
|
|
18
19
|
}> | null | undefined)[]>;
|
|
@@ -83,6 +83,7 @@ declare namespace PlaylistDetail {
|
|
|
83
83
|
}>>;
|
|
84
84
|
const onBackClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
85
85
|
const onContinueLearningClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
86
|
+
const bannerMicrolearningRuleAction: PropTypes.Requireable<(...args: any[]) => any>;
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
89
|
import PropTypes from "prop-types";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/playlist-detail/index.js"],"names":[],"mappings":";AAgBA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/playlist-detail/index.js"],"names":[],"mappings":";AAgBA,uEA2FC"}
|
|
@@ -50,7 +50,8 @@ const PlaylistDetail = (props, context) => {
|
|
|
50
50
|
filters,
|
|
51
51
|
sorting,
|
|
52
52
|
onBackClick,
|
|
53
|
-
onContinueLearningClick
|
|
53
|
+
onContinueLearningClick,
|
|
54
|
+
bannerMicrolearningRuleAction = null
|
|
54
55
|
} = props;
|
|
55
56
|
const descriptionRef = (0, _react.useRef)(null);
|
|
56
57
|
const {
|
|
@@ -113,7 +114,8 @@ const PlaylistDetail = (props, context) => {
|
|
|
113
114
|
})))), /*#__PURE__*/_react.default.createElement(_allCourses.default, {
|
|
114
115
|
content: playlistCourses,
|
|
115
116
|
filters: filters,
|
|
116
|
-
sorting: sorting
|
|
117
|
+
sorting: sorting,
|
|
118
|
+
bannerMicrolearningRuleAction: bannerMicrolearningRuleAction
|
|
117
119
|
})));
|
|
118
120
|
};
|
|
119
121
|
|
|
@@ -134,7 +136,8 @@ PlaylistDetail.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
134
136
|
}),
|
|
135
137
|
sorting: _propTypes.default.shape(_select.default.propTypes),
|
|
136
138
|
onBackClick: _propTypes.default.func,
|
|
137
|
-
onContinueLearningClick: _propTypes.default.func
|
|
139
|
+
onContinueLearningClick: _propTypes.default.func,
|
|
140
|
+
bannerMicrolearningRuleAction: _propTypes.default.func
|
|
138
141
|
} : {};
|
|
139
142
|
var _default = PlaylistDetail;
|
|
140
143
|
exports.default = _default;
|