@coorpacademy/components 11.32.48-alpha.71 → 11.32.48-alpha.72
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/molecule/banner/index.js +2 -2
- package/es/molecule/banner/index.js.map +1 -1
- package/es/template/skill-detail/all-courses.js +2 -2
- package/es/template/skill-detail/all-courses.js.map +1 -1
- package/lib/molecule/banner/index.js +2 -2
- package/lib/molecule/banner/index.js.map +1 -1
- package/lib/template/skill-detail/all-courses.js +2 -2
- package/lib/template/skill-detail/all-courses.js.map +1 -1
- package/locales/en/global.json +2 -4
- package/package.json +2 -2
|
@@ -77,13 +77,13 @@ const Banner = props => {
|
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
79
|
|
|
80
|
-
const buildCta =
|
|
80
|
+
const buildCta = ctaOptions => {
|
|
81
81
|
return uncappedMap((options, i) => {
|
|
82
82
|
if (_isEmpty(options)) return null;
|
|
83
83
|
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
84
84
|
key: i
|
|
85
85
|
}, i > 0 ? ButtonSeparator : null, buildButton(options));
|
|
86
|
-
},
|
|
86
|
+
}, ctaOptions);
|
|
87
87
|
};
|
|
88
88
|
|
|
89
89
|
const [iconName, iconColor] = TYPES[type];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useState","useCallback","PropTypes","classnames","COLORS","ButtonLink","Icon","InputSwitch","style","uncappedMap","convert","cap","TYPES","success","cm_positive_200","error","cm_negative_200","warning","cm_yellow_400","info","cm_grey_500","STYLES","Banner","props","type","message","cta","temporary","bannerKey","onEnd","switchValue","setSwitchValue","handleSwitchToggle","action","ButtonSeparator","buttonsBar","buildButton","buttonType","label","button","buildCta","options","i","iconName","iconColor","banner","temporaryBanner","icon","temporaryIcon","ctaPropTypes","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} 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 handleSwitchToggle = useCallback(\n action => () => {\n setSwitchValue(!switchValue);\n action();\n },\n [switchValue, setSwitchValue]\n );\n\n const ButtonSeparator = <div className={classnames(style.buttonsBar, STYLES[type])} />;\n\n const buildButton = ({type: buttonType = 'button', label, action = noop}) => {\n switch (buttonType) {\n case 'switch':\n return (\n <div className={classnames(style.button, STYLES[type])}>\n <InputSwitch\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={classnames(style.button, STYLES[type])}>\n <ButtonLink\n data-name=\"banner-button-cta\"\n aria-label={label}\n label={label}\n onClick={action}\n type=\"text\"\n />\n </div>\n );\n }\n };\n\n const buildCta =
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useState","useCallback","PropTypes","classnames","COLORS","ButtonLink","Icon","InputSwitch","style","uncappedMap","convert","cap","TYPES","success","cm_positive_200","error","cm_negative_200","warning","cm_yellow_400","info","cm_grey_500","STYLES","Banner","props","type","message","cta","temporary","bannerKey","onEnd","switchValue","setSwitchValue","handleSwitchToggle","action","ButtonSeparator","buttonsBar","buildButton","buttonType","label","button","buildCta","ctaOptions","options","i","iconName","iconColor","banner","temporaryBanner","icon","temporaryIcon","ctaPropTypes","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} 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 handleSwitchToggle = useCallback(\n action => () => {\n setSwitchValue(!switchValue);\n action();\n },\n [switchValue, setSwitchValue]\n );\n\n const ButtonSeparator = <div className={classnames(style.buttonsBar, STYLES[type])} />;\n\n const buildButton = ({type: buttonType = 'button', label, action = noop}) => {\n switch (buttonType) {\n case 'switch':\n return (\n <div className={classnames(style.button, STYLES[type])}>\n <InputSwitch\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={classnames(style.button, STYLES[type])}>\n <ButtonLink\n data-name=\"banner-button-cta\"\n aria-label={label}\n label={label}\n onClick={action}\n type=\"text\"\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 <React.Fragment key={i}>\n {i > 0 ? ButtonSeparator : null}\n {buildButton(options)}\n </React.Fragment>\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 />\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":"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"}
|
|
@@ -138,10 +138,10 @@ const AllCourses = (props, context) => {
|
|
|
138
138
|
className: style.bannerWrapper
|
|
139
139
|
}, bannerMicrolearningRuleAction ? /*#__PURE__*/React.createElement(Banner, {
|
|
140
140
|
type: "info",
|
|
141
|
-
message: translate('
|
|
141
|
+
message: translate('banner_microlearning_rule_message'),
|
|
142
142
|
cta: [{
|
|
143
143
|
type: 'switch',
|
|
144
|
-
label: translate('
|
|
144
|
+
label: translate('banner_microlearning_rule_label'),
|
|
145
145
|
action: e => bannerMicrolearningRuleAction(e)
|
|
146
146
|
}]
|
|
147
147
|
}) : null), /*#__PURE__*/React.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-courses.js","names":["React","useState","useCallback","useMemo","PropTypes","Provider","Select","SelectOptionPropTypes","ButtonLink","SearchForm","CardsGrid","searchValueIncluded","InputSwitch","Banner","style","uncappedMap","convert","cap","FilterButton","props","context","dataName","ariaLabel","selected","label","onClick","skin","primarySkinColor","buttonProps","customStyle","backgroundColor","color","transition","width","contextTypes","childContextTypes","translate","propTypes","string","bool","func","AllCourses","content","filters","sorting","totalContents","bannerMicrolearningRuleAction","options","onChange","list","loading","showCompleted","setShowCompleted","searchValue","setSearchValue","sortView","undefined","filteredContent","course","progress","contentResult","skill","title","handleSearch","value","handleSearchReset","handleShowCompletedToggle","prevShowCompleted","continueLearningWrapper","continueLearningTitle","continueLearningNumber","searchAndSortSection","searchWrapper","placeholder","sortSection","sortWrapper","bannerWrapper","type","action","e","filterWrapper","filterProps","index","name","handleFilterChange","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","number","arrayOf"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, filter, map, size, isNil} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport searchValueIncluded from '../../util/search-value-included';\nimport InputSwitch from '../../atom/input-switch';\nimport Banner from '../../molecule/banner';\nimport style from './all-courses.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst FilterButton = (props, context) => {\n const {dataName, ariaLabel, selected, label, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label,\n onClick,\n 'data-name': dataName,\n 'aria-label': ariaLabel\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n dataName: PropTypes.string,\n ariaLabel: PropTypes.string,\n selected: PropTypes.bool,\n label: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {content, filters, sorting, totalContents, bannerMicrolearningRuleAction} = props;\n const {options, onChange} = filters;\n const {list, loading} = content;\n const {translate} = context;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState('');\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\">\n <Select {...sorting} aria-label=\"All courses sort\" />\n </div>\n ) : null;\n\n const filteredContent = useMemo(() => {\n return showCompleted ? list : filter(course => course.progress < 1, list);\n }, [list, showCompleted]);\n\n const contentResult = useMemo(() => {\n return filter(skill => searchValueIncluded(skill.title, searchValue), filteredContent);\n }, [filteredContent, searchValue]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n },\n [setSearchValue]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n }, [setSearchValue]);\n\n const handleShowCompletedToggle = useCallback(() => {\n setShowCompleted(prevShowCompleted => !prevShowCompleted);\n }, []);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_content')}</span>\n <span className={style.continueLearningNumber}>\n {isNil(totalContents) ? size(contentResult) : totalContents}\n </span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n dataTestId=\"all-courses-search-input\"\n />\n </div>\n <div className={style.sortSection}>\n <InputSwitch\n id={'show-completed-courses-switch'}\n type=\"switch\"\n name={translate('show_completed')}\n title={translate('show_completed')}\n aria-label={'Show completed courses aria label'}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n {sortView ? (\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n ) : null}\n </div>\n </div>\n <div className={style.bannerWrapper}>\n {bannerMicrolearningRuleAction ? (\n <Banner\n type=\"info\"\n message={translate('banner_microlearning_rule.message')}\n cta={[\n {\n type: 'switch',\n label: translate('banner_microlearning_rule.label'),\n action: e => bannerMicrolearningRuleAction(e)\n }\n ]}\n />\n ) : null}\n </div>\n <div className={style.filterWrapper}>\n {size(options) > 2\n ? uncappedMap((filterProps, index) => {\n const {name, value, selected} = filterProps;\n\n function handleFilterChange() {\n onChange(value);\n }\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n dataName={`filter-button-${value}`}\n ariaLabel={`Filter by ${name}`}\n selected={selected}\n label={name}\n onClick={handleFilterChange}\n />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n }, options)\n : null}\n </div>\n <div>\n {size(contentResult) ? (\n <CardsGrid\n list={contentResult}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n content: PropTypes.shape(CardsGrid.propTypes),\n totalContents: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n bannerMicrolearningRuleAction: PropTypes.func\n};\n\nexport default AllCourses;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"all-courses.js","names":["React","useState","useCallback","useMemo","PropTypes","Provider","Select","SelectOptionPropTypes","ButtonLink","SearchForm","CardsGrid","searchValueIncluded","InputSwitch","Banner","style","uncappedMap","convert","cap","FilterButton","props","context","dataName","ariaLabel","selected","label","onClick","skin","primarySkinColor","buttonProps","customStyle","backgroundColor","color","transition","width","contextTypes","childContextTypes","translate","propTypes","string","bool","func","AllCourses","content","filters","sorting","totalContents","bannerMicrolearningRuleAction","options","onChange","list","loading","showCompleted","setShowCompleted","searchValue","setSearchValue","sortView","undefined","filteredContent","course","progress","contentResult","skill","title","handleSearch","value","handleSearchReset","handleShowCompletedToggle","prevShowCompleted","continueLearningWrapper","continueLearningTitle","continueLearningNumber","searchAndSortSection","searchWrapper","placeholder","sortSection","sortWrapper","bannerWrapper","type","action","e","filterWrapper","filterProps","index","name","handleFilterChange","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","number","arrayOf"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, filter, map, size, isNil} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport searchValueIncluded from '../../util/search-value-included';\nimport InputSwitch from '../../atom/input-switch';\nimport Banner from '../../molecule/banner';\nimport style from './all-courses.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst FilterButton = (props, context) => {\n const {dataName, ariaLabel, selected, label, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label,\n onClick,\n 'data-name': dataName,\n 'aria-label': ariaLabel\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n dataName: PropTypes.string,\n ariaLabel: PropTypes.string,\n selected: PropTypes.bool,\n label: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {content, filters, sorting, totalContents, bannerMicrolearningRuleAction} = props;\n const {options, onChange} = filters;\n const {list, loading} = content;\n const {translate} = context;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState('');\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\">\n <Select {...sorting} aria-label=\"All courses sort\" />\n </div>\n ) : null;\n\n const filteredContent = useMemo(() => {\n return showCompleted ? list : filter(course => course.progress < 1, list);\n }, [list, showCompleted]);\n\n const contentResult = useMemo(() => {\n return filter(skill => searchValueIncluded(skill.title, searchValue), filteredContent);\n }, [filteredContent, searchValue]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n },\n [setSearchValue]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n }, [setSearchValue]);\n\n const handleShowCompletedToggle = useCallback(() => {\n setShowCompleted(prevShowCompleted => !prevShowCompleted);\n }, []);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_content')}</span>\n <span className={style.continueLearningNumber}>\n {isNil(totalContents) ? size(contentResult) : totalContents}\n </span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n dataTestId=\"all-courses-search-input\"\n />\n </div>\n <div className={style.sortSection}>\n <InputSwitch\n id={'show-completed-courses-switch'}\n type=\"switch\"\n name={translate('show_completed')}\n title={translate('show_completed')}\n aria-label={'Show completed courses aria label'}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n {sortView ? (\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n ) : null}\n </div>\n </div>\n <div className={style.bannerWrapper}>\n {bannerMicrolearningRuleAction ? (\n <Banner\n type=\"info\"\n message={translate('banner_microlearning_rule_message')}\n cta={[\n {\n type: 'switch',\n label: translate('banner_microlearning_rule_label'),\n action: e => bannerMicrolearningRuleAction(e)\n }\n ]}\n />\n ) : null}\n </div>\n <div className={style.filterWrapper}>\n {size(options) > 2\n ? uncappedMap((filterProps, index) => {\n const {name, value, selected} = filterProps;\n\n function handleFilterChange() {\n onChange(value);\n }\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n dataName={`filter-button-${value}`}\n ariaLabel={`Filter by ${name}`}\n selected={selected}\n label={name}\n onClick={handleFilterChange}\n />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n }, options)\n : null}\n </div>\n <div>\n {size(contentResult) ? (\n <CardsGrid\n list={contentResult}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n content: PropTypes.shape(CardsGrid.propTypes),\n totalContents: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n bannerMicrolearningRuleAction: PropTypes.func\n};\n\nexport default AllCourses;\n"],"mappings":"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"}
|
|
@@ -100,13 +100,13 @@ const Banner = props => {
|
|
|
100
100
|
}
|
|
101
101
|
};
|
|
102
102
|
|
|
103
|
-
const buildCta =
|
|
103
|
+
const buildCta = ctaOptions => {
|
|
104
104
|
return uncappedMap((options, i) => {
|
|
105
105
|
if ((0, _isEmpty2.default)(options)) return null;
|
|
106
106
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
107
107
|
key: i
|
|
108
108
|
}, i > 0 ? ButtonSeparator : null, buildButton(options));
|
|
109
|
-
},
|
|
109
|
+
}, ctaOptions);
|
|
110
110
|
};
|
|
111
111
|
|
|
112
112
|
const [iconName, iconColor] = TYPES[type];
|
|
@@ -1 +1 @@
|
|
|
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","handleSwitchToggle","useCallback","action","ButtonSeparator","classnames","buttonsBar","buildButton","buttonType","label","button","buildCta","options","i","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} 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 handleSwitchToggle = useCallback(\n action => () => {\n setSwitchValue(!switchValue);\n action();\n },\n [switchValue, setSwitchValue]\n );\n\n const ButtonSeparator = <div className={classnames(style.buttonsBar, STYLES[type])} />;\n\n const buildButton = ({type: buttonType = 'button', label, action = noop}) => {\n switch (buttonType) {\n case 'switch':\n return (\n <div className={classnames(style.button, STYLES[type])}>\n <InputSwitch\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={classnames(style.button, STYLES[type])}>\n <ButtonLink\n data-name=\"banner-button-cta\"\n aria-label={label}\n label={label}\n onClick={action}\n type=\"text\"\n />\n </div>\n );\n }\n };\n\n const buildCta =
|
|
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","handleSwitchToggle","useCallback","action","ButtonSeparator","classnames","buttonsBar","buildButton","buttonType","label","button","buildCta","ctaOptions","options","i","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} 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 handleSwitchToggle = useCallback(\n action => () => {\n setSwitchValue(!switchValue);\n action();\n },\n [switchValue, setSwitchValue]\n );\n\n const ButtonSeparator = <div className={classnames(style.buttonsBar, STYLES[type])} />;\n\n const buildButton = ({type: buttonType = 'button', label, action = noop}) => {\n switch (buttonType) {\n case 'switch':\n return (\n <div className={classnames(style.button, STYLES[type])}>\n <InputSwitch\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={classnames(style.button, STYLES[type])}>\n <ButtonLink\n data-name=\"banner-button-cta\"\n aria-label={label}\n label={label}\n onClick={action}\n type=\"text\"\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 <React.Fragment key={i}>\n {i > 0 ? ButtonSeparator : null}\n {buildButton(options)}\n </React.Fragment>\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 />\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,kBAAkB,GAAG,IAAAC,kBAAA,EACzBC,MAAM,IAAI,MAAM;IACdJ,cAAc,CAAC,CAACD,WAAF,CAAd;IACAK,MAAM;EACP,CAJwB,EAKzB,CAACL,WAAD,EAAcC,cAAd,CALyB,CAA3B;;EAQA,MAAMK,eAAe,gBAAG;IAAK,SAAS,EAAE,IAAAC,mBAAA,EAAWhB,cAAA,CAAMiB,UAAjB,EAA6BlB,MAAM,CAACI,IAAD,CAAnC;EAAhB,EAAxB;;EAEA,MAAMe,WAAW,GAAG,CAAC;IAACf,IAAI,EAAEgB,UAAU,GAAG,QAApB;IAA8BC,KAA9B;IAAqCN,MAAM;EAA3C,CAAD,KAAyD;IAC3E,QAAQK,UAAR;MACE,KAAK,QAAL;QACE,oBACE;UAAK,SAAS,EAAE,IAAAH,mBAAA,EAAWhB,cAAA,CAAMqB,MAAjB,EAAyBtB,MAAM,CAACI,IAAD,CAA/B;QAAhB,gBACE,6BAAC,oBAAD;UACE,KAAK,EAAC,cADR;UAEE,KAAK,EAAEiB,KAFT;UAGE,KAAK,EAAEX,WAHT;UAIE,QAAQ,EAAEG,kBAAkB,CAACE,MAAD,CAJ9B;UAKE,aAAY,mBALd;UAME,cAAYM;QANd,EADF,CADF;;MAYF;QACE,oBACE;UAAK,SAAS,EAAE,IAAAJ,mBAAA,EAAWhB,cAAA,CAAMqB,MAAjB,EAAyBtB,MAAM,CAACI,IAAD,CAA/B;QAAhB,gBACE,6BAAC,mBAAD;UACE,aAAU,mBADZ;UAEE,cAAYiB,KAFd;UAGE,KAAK,EAAEA,KAHT;UAIE,OAAO,EAAEN,MAJX;UAKE,IAAI,EAAC;QALP,EADF,CADF;IAfJ;EA2BD,CA5BD;;EA8BA,MAAMQ,QAAQ,GAAGC,UAAU,IAAI;IAC7B,OAAOrC,WAAW,CAAC,CAACsC,OAAD,EAAUC,CAAV,KAAgB;MACjC,IAAI,uBAAQD,OAAR,CAAJ,EAAsB,OAAO,IAAP;MAEtB,oBACE,6BAAC,cAAD,CAAO,QAAP;QAAgB,GAAG,EAAEC;MAArB,GACGA,CAAC,GAAG,CAAJ,GAAQV,eAAR,GAA0B,IAD7B,EAEGG,WAAW,CAACM,OAAD,CAFd,CADF;IAMD,CATiB,EASfD,UATe,CAAlB;EAUD,CAXD;;EAaA,MAAM,CAACG,QAAD,EAAWC,SAAX,IAAwBtC,KAAK,CAACc,IAAD,CAAnC;EAEA,oBACE;IACE,GAAG,EAAEI,SADP;IAEE,SAAS,EAAE,IAAAS,mBAAA,EAAWhB,cAAA,CAAM4B,MAAjB,EAAyB7B,MAAM,CAACI,IAAD,CAA/B,EAAuCG,SAAS,IAAIN,cAAA,CAAM6B,eAA1D,CAFb;IAGE,cAAc,EAAErB,KAHlB;IAIE,KAAK,EAAEJ;EAJT,gBAME;IAAK,aAAY,GAAED,IAAK,iBAAxB;IAA0C,SAAS,EAAEH,cAAA,CAAMI;EAA3D,gBACE,6BAAC,aAAD;IACE,QAAQ,EAAEsB,QADZ;IAEE,SAAS,EAAEC,SAFb;IAGE,SAAS,EAAE,IAAAX,mBAAA,EAAWhB,cAAA,CAAM8B,IAAjB,EAAuBxB,SAAS,IAAIN,cAAA,CAAM+B,aAA1C;EAHb,EADF,EAMG3B,OANH,CANF,EAcGkB,QAAQ,CAACjB,GAAD,CAdX,CADF;AAkBD,CA7ED;;AA+EA,MAAM2B,YAAN,2CAAqBC,kBAAA,CAAUC,KAAV,CAAgB;EACnCd,KAAK,EAAEa,kBAAA,CAAUE,MADkB;EAEnChC,IAAI,EAAE8B,kBAAA,CAAUG,KAAV,CAAgB,CAAC,QAAD,EAAW,QAAX,CAAhB,CAF6B;EAGnCtB,MAAM,EAAEmB,kBAAA,CAAUI;AAHiB,CAAhB,CAArB;AAMApC,MAAM,CAACqC,SAAP,2CAAmB;EACjB/B,SAAS,EAAE0B,kBAAA,CAAUE,MADJ;EAEjBhC,IAAI,EAAE8B,kBAAA,CAAUG,KAAV,CAAgB,oBAAK/C,KAAL,CAAhB,CAFW;EAGjBe,OAAO,EAAE6B,kBAAA,CAAUE,MAAV,CAAiBI,UAHT;EAIjBlC,GAAG,EAAE4B,kBAAA,CAAUO,OAAV,CAAkBR,YAAlB,CAJY;EAKjB1B,SAAS,EAAE2B,kBAAA,CAAUQ,IALJ;EAMjBjC,KAAK,EAAEyB,kBAAA,CAAUI;AANA,CAAnB;eASepC,M"}
|
|
@@ -161,10 +161,10 @@ const AllCourses = (props, context) => {
|
|
|
161
161
|
className: _allCourses.default.bannerWrapper
|
|
162
162
|
}, bannerMicrolearningRuleAction ? /*#__PURE__*/_react.default.createElement(_banner.default, {
|
|
163
163
|
type: "info",
|
|
164
|
-
message: translate('
|
|
164
|
+
message: translate('banner_microlearning_rule_message'),
|
|
165
165
|
cta: [{
|
|
166
166
|
type: 'switch',
|
|
167
|
-
label: translate('
|
|
167
|
+
label: translate('banner_microlearning_rule_label'),
|
|
168
168
|
action: e => bannerMicrolearningRuleAction(e)
|
|
169
169
|
}]
|
|
170
170
|
}) : null), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-courses.js","names":["uncappedMap","convert","cap","FilterButton","props","context","dataName","ariaLabel","selected","label","onClick","skin","primarySkinColor","buttonProps","customStyle","backgroundColor","color","transition","width","contextTypes","Provider","childContextTypes","translate","propTypes","PropTypes","string","bool","func","AllCourses","content","filters","sorting","totalContents","bannerMicrolearningRuleAction","options","onChange","list","loading","showCompleted","setShowCompleted","useState","searchValue","setSearchValue","sortView","undefined","filteredContent","useMemo","course","progress","contentResult","skill","searchValueIncluded","title","handleSearch","useCallback","value","handleSearchReset","handleShowCompletedToggle","prevShowCompleted","style","continueLearningWrapper","continueLearningTitle","continueLearningNumber","searchAndSortSection","searchWrapper","placeholder","sortSection","sortWrapper","bannerWrapper","type","action","e","filterWrapper","filterProps","index","name","handleFilterChange","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","CardsGrid","number","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, filter, map, size, isNil} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport searchValueIncluded from '../../util/search-value-included';\nimport InputSwitch from '../../atom/input-switch';\nimport Banner from '../../molecule/banner';\nimport style from './all-courses.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst FilterButton = (props, context) => {\n const {dataName, ariaLabel, selected, label, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label,\n onClick,\n 'data-name': dataName,\n 'aria-label': ariaLabel\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n dataName: PropTypes.string,\n ariaLabel: PropTypes.string,\n selected: PropTypes.bool,\n label: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {content, filters, sorting, totalContents, bannerMicrolearningRuleAction} = props;\n const {options, onChange} = filters;\n const {list, loading} = content;\n const {translate} = context;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState('');\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\">\n <Select {...sorting} aria-label=\"All courses sort\" />\n </div>\n ) : null;\n\n const filteredContent = useMemo(() => {\n return showCompleted ? list : filter(course => course.progress < 1, list);\n }, [list, showCompleted]);\n\n const contentResult = useMemo(() => {\n return filter(skill => searchValueIncluded(skill.title, searchValue), filteredContent);\n }, [filteredContent, searchValue]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n },\n [setSearchValue]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n }, [setSearchValue]);\n\n const handleShowCompletedToggle = useCallback(() => {\n setShowCompleted(prevShowCompleted => !prevShowCompleted);\n }, []);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_content')}</span>\n <span className={style.continueLearningNumber}>\n {isNil(totalContents) ? size(contentResult) : totalContents}\n </span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n dataTestId=\"all-courses-search-input\"\n />\n </div>\n <div className={style.sortSection}>\n <InputSwitch\n id={'show-completed-courses-switch'}\n type=\"switch\"\n name={translate('show_completed')}\n title={translate('show_completed')}\n aria-label={'Show completed courses aria label'}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n {sortView ? (\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n ) : null}\n </div>\n </div>\n <div className={style.bannerWrapper}>\n {bannerMicrolearningRuleAction ? (\n <Banner\n type=\"info\"\n message={translate('banner_microlearning_rule.message')}\n cta={[\n {\n type: 'switch',\n label: translate('banner_microlearning_rule.label'),\n action: e => bannerMicrolearningRuleAction(e)\n }\n ]}\n />\n ) : null}\n </div>\n <div className={style.filterWrapper}>\n {size(options) > 2\n ? uncappedMap((filterProps, index) => {\n const {name, value, selected} = filterProps;\n\n function handleFilterChange() {\n onChange(value);\n }\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n dataName={`filter-button-${value}`}\n ariaLabel={`Filter by ${name}`}\n selected={selected}\n label={name}\n onClick={handleFilterChange}\n />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n }, options)\n : null}\n </div>\n <div>\n {size(contentResult) ? (\n <CardsGrid\n list={contentResult}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n content: PropTypes.shape(CardsGrid.propTypes),\n totalContents: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n bannerMicrolearningRuleAction: PropTypes.func\n};\n\nexport default AllCourses;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"all-courses.js","names":["uncappedMap","convert","cap","FilterButton","props","context","dataName","ariaLabel","selected","label","onClick","skin","primarySkinColor","buttonProps","customStyle","backgroundColor","color","transition","width","contextTypes","Provider","childContextTypes","translate","propTypes","PropTypes","string","bool","func","AllCourses","content","filters","sorting","totalContents","bannerMicrolearningRuleAction","options","onChange","list","loading","showCompleted","setShowCompleted","useState","searchValue","setSearchValue","sortView","undefined","filteredContent","useMemo","course","progress","contentResult","skill","searchValueIncluded","title","handleSearch","useCallback","value","handleSearchReset","handleShowCompletedToggle","prevShowCompleted","style","continueLearningWrapper","continueLearningTitle","continueLearningNumber","searchAndSortSection","searchWrapper","placeholder","sortSection","sortWrapper","bannerWrapper","type","action","e","filterWrapper","filterProps","index","name","handleFilterChange","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","CardsGrid","number","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, filter, map, size, isNil} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport searchValueIncluded from '../../util/search-value-included';\nimport InputSwitch from '../../atom/input-switch';\nimport Banner from '../../molecule/banner';\nimport style from './all-courses.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst FilterButton = (props, context) => {\n const {dataName, ariaLabel, selected, label, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label,\n onClick,\n 'data-name': dataName,\n 'aria-label': ariaLabel\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n dataName: PropTypes.string,\n ariaLabel: PropTypes.string,\n selected: PropTypes.bool,\n label: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {content, filters, sorting, totalContents, bannerMicrolearningRuleAction} = props;\n const {options, onChange} = filters;\n const {list, loading} = content;\n const {translate} = context;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState('');\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\">\n <Select {...sorting} aria-label=\"All courses sort\" />\n </div>\n ) : null;\n\n const filteredContent = useMemo(() => {\n return showCompleted ? list : filter(course => course.progress < 1, list);\n }, [list, showCompleted]);\n\n const contentResult = useMemo(() => {\n return filter(skill => searchValueIncluded(skill.title, searchValue), filteredContent);\n }, [filteredContent, searchValue]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n },\n [setSearchValue]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n }, [setSearchValue]);\n\n const handleShowCompletedToggle = useCallback(() => {\n setShowCompleted(prevShowCompleted => !prevShowCompleted);\n }, []);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_content')}</span>\n <span className={style.continueLearningNumber}>\n {isNil(totalContents) ? size(contentResult) : totalContents}\n </span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n dataTestId=\"all-courses-search-input\"\n />\n </div>\n <div className={style.sortSection}>\n <InputSwitch\n id={'show-completed-courses-switch'}\n type=\"switch\"\n name={translate('show_completed')}\n title={translate('show_completed')}\n aria-label={'Show completed courses aria label'}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n {sortView ? (\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n ) : null}\n </div>\n </div>\n <div className={style.bannerWrapper}>\n {bannerMicrolearningRuleAction ? (\n <Banner\n type=\"info\"\n message={translate('banner_microlearning_rule_message')}\n cta={[\n {\n type: 'switch',\n label: translate('banner_microlearning_rule_label'),\n action: e => bannerMicrolearningRuleAction(e)\n }\n ]}\n />\n ) : null}\n </div>\n <div className={style.filterWrapper}>\n {size(options) > 2\n ? uncappedMap((filterProps, index) => {\n const {name, value, selected} = filterProps;\n\n function handleFilterChange() {\n onChange(value);\n }\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n dataName={`filter-button-${value}`}\n ariaLabel={`Filter by ${name}`}\n selected={selected}\n label={name}\n onClick={handleFilterChange}\n />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n }, options)\n : null}\n </div>\n <div>\n {size(contentResult) ? (\n <CardsGrid\n list={contentResult}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n content: PropTypes.shape(CardsGrid.propTypes),\n totalContents: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n bannerMicrolearningRuleAction: PropTypes.func\n};\n\nexport default AllCourses;\n"],"mappings":"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"}
|
package/locales/en/global.json
CHANGED
|
@@ -15,10 +15,8 @@
|
|
|
15
15
|
"Back to Dashboard Home": "Back to Dashboard Home",
|
|
16
16
|
"back_to_catalog": "Back to courses",
|
|
17
17
|
"badge": "Badge",
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
"message": "5'Learning do not count towards the learning priorities and have been hidden."
|
|
21
|
-
},
|
|
18
|
+
"banner_microlearning_rule_message": "5'Learning do not count towards the learning priorities and have been hidden.",
|
|
19
|
+
"banner_microlearning_rule_label": "Show 5'Learning",
|
|
22
20
|
"bonus_stars": "Bonus stars",
|
|
23
21
|
"certificates": "Certificates",
|
|
24
22
|
"certificate(s)": "certificate(s)",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "11.32.48-alpha.
|
|
3
|
+
"version": "11.32.48-alpha.72+4470310d7",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -178,5 +178,5 @@
|
|
|
178
178
|
"last 2 versions",
|
|
179
179
|
"IE 11"
|
|
180
180
|
],
|
|
181
|
-
"gitHead": "
|
|
181
|
+
"gitHead": "4470310d7b5cf2a1733a22d2f0e7281573871555"
|
|
182
182
|
}
|