@coorpacademy/components 11.32.20-alpha.38.37 → 11.32.20-alpha.40

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.
@@ -14,16 +14,13 @@ declare namespace LearningPriorityModal {
14
14
  const preselected: PropTypes.Requireable<(string | null | undefined)[]>;
15
15
  const isOpen: PropTypes.Requireable<boolean>;
16
16
  const isLoading: PropTypes.Requireable<boolean>;
17
- const filters: PropTypes.Requireable<PropTypes.InferProps<{
18
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
19
- options: PropTypes.Requireable<(PropTypes.InferProps<{
20
- count: PropTypes.Requireable<number>;
21
- name: PropTypes.Validator<string>;
22
- value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
23
- selected: PropTypes.Requireable<boolean>;
24
- validOption: PropTypes.Requireable<boolean>;
25
- }> | null | undefined)[]>;
26
- }>>;
17
+ const filters: PropTypes.Requireable<(PropTypes.InferProps<{
18
+ count: PropTypes.Requireable<number>;
19
+ name: PropTypes.Validator<string>;
20
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
21
+ selected: PropTypes.Requireable<boolean>;
22
+ validOption: PropTypes.Requireable<boolean>;
23
+ }> | null | undefined)[]>;
27
24
  const onCancel: PropTypes.Requireable<(...args: any[]) => any>;
28
25
  const onAdd: PropTypes.Requireable<(...args: any[]) => any>;
29
26
  const onClose: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/learning-priority-modal/index.js"],"names":[],"mappings":";AAgEA,qFAyJC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/learning-priority-modal/index.js"],"names":[],"mappings":";AAgEA,qFAkKC"}
@@ -68,10 +68,7 @@ const LearningPriorityModal = (props, context) => {
68
68
  preselected,
69
69
  isOpen,
70
70
  isLoading,
71
- filters: {
72
- options,
73
- onChange
74
- },
71
+ filters,
75
72
  onCancel,
76
73
  onAdd,
77
74
  onClose
@@ -80,16 +77,20 @@ const LearningPriorityModal = (props, context) => {
80
77
  translate
81
78
  } = context;
82
79
  const [selectedPriority, setSelectedPriority] = useState('');
80
+ const [selectedPriorityType, setSelectedPriorityType] = useState('');
83
81
  const [searchValue, setSearchValue] = useState('');
82
+ const [filterValue, setFilterValue] = useState('all');
84
83
  const [searchResults, setSearchResults] = useState(priorities);
85
84
  const handleCancel = useCallback(() => {
86
85
  setSelectedPriority('');
86
+ setSelectedPriorityType('');
87
87
  onCancel();
88
- }, [setSelectedPriority, onCancel]);
88
+ }, [setSelectedPriority, setSelectedPriorityType, onCancel]);
89
89
  const handleClose = useCallback(() => {
90
90
  setSelectedPriority('');
91
+ setSelectedPriorityType('');
91
92
  onClose();
92
- }, [setSelectedPriority, onClose]);
93
+ }, [setSelectedPriority, setSelectedPriorityType, onClose]);
93
94
  const handleSearch = useCallback(value => {
94
95
  setSearchValue(value);
95
96
  setSearchResults(priorities.filter(priority => searchValueIncluded(priority.title, value)));
@@ -118,7 +119,9 @@ const LearningPriorityModal = (props, context) => {
118
119
  },
119
120
  confirmButton: {
120
121
  onConfirm: () => {
121
- onAdd(selectedPriority);
122
+ onAdd(selectedPriority, selectedPriorityType);
123
+ setSelectedPriority('');
124
+ setSelectedPriorityType('');
122
125
  onClose();
123
126
  },
124
127
  label: translate('add'),
@@ -126,7 +129,7 @@ const LearningPriorityModal = (props, context) => {
126
129
  disabled: isLoading || !selectedPriority
127
130
  }
128
131
  };
129
- }, [handleCancel, onAdd, translate, selectedPriority, isLoading]);
132
+ }, [handleCancel, setSelectedPriority, setSelectedPriorityType, onAdd, translate, selectedPriority, selectedPriorityType, isLoading]);
130
133
  if (!isLoading && !priorities || !isOpen) return null;
131
134
  return /*#__PURE__*/React.createElement(BaseModal, {
132
135
  title: translate('learning_priority_modal_title'),
@@ -152,16 +155,15 @@ const LearningPriorityModal = (props, context) => {
152
155
  onReset: handleSearchReset
153
156
  })), /*#__PURE__*/React.createElement("div", {
154
157
  className: style.filterWrapper
155
- }, searchResults.length > 0 ? options.map((filter, index) => {
158
+ }, searchResults.length > 0 ? filters.map((filter, index) => {
156
159
  const {
157
160
  name,
158
161
  value,
159
- selected,
160
162
  count
161
163
  } = filter;
162
164
 
163
165
  function handleChange() {
164
- onChange(value);
166
+ setFilterValue(value);
165
167
  handleSearchReset();
166
168
  }
167
169
 
@@ -170,7 +172,7 @@ const LearningPriorityModal = (props, context) => {
170
172
  key: index,
171
173
  className: style.filterButtonWrapper
172
174
  }, /*#__PURE__*/React.createElement(FilterButton, {
173
- active: selected,
175
+ active: filterValue === value,
174
176
  filter: name,
175
177
  onClick: handleChange,
176
178
  itemTotal: count
@@ -189,8 +191,10 @@ const LearningPriorityModal = (props, context) => {
189
191
 
190
192
  function handlePriorityClick() {
191
193
  setSelectedPriority(priorityRef);
194
+ setSelectedPriorityType(type);
192
195
  }
193
196
 
197
+ if (filterValue !== 'all' && type !== filterValue) return null;
194
198
  return /*#__PURE__*/React.createElement(ListItem, _extends({}, courses !== null ? {
195
199
  subtitle: `${courses} ${translate('courses')}`
196
200
  } : {}, {
@@ -221,12 +225,9 @@ LearningPriorityModal.propTypes = process.env.NODE_ENV !== "production" ? {
221
225
  preselected: PropTypes.arrayOf(PropTypes.string),
222
226
  isOpen: PropTypes.bool,
223
227
  isLoading: PropTypes.bool,
224
- filters: PropTypes.shape({
225
- onChange: PropTypes.func,
226
- options: PropTypes.arrayOf(PropTypes.shape(_extends({}, SelectOptionPropTypes, {
227
- count: PropTypes.number
228
- })))
229
- }),
228
+ filters: PropTypes.arrayOf(PropTypes.shape(_extends({}, SelectOptionPropTypes, {
229
+ count: PropTypes.number
230
+ }))),
230
231
  onCancel: PropTypes.func,
231
232
  onAdd: PropTypes.func,
232
233
  onClose: PropTypes.func
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useMemo","useState","useCallback","PropTypes","convert","BaseModal","ListItem","ButtonLink","Loader","Provider","SelectOptionPropTypes","SearchForm","searchValueIncluded","style","FilterButton","props","context","active","filter","itemTotal","onClick","skin","primarySkinColor","Content","skillFilterNumber","skillFilterNumberInActive","backgroundColor","color","buttonProps","customStyle","transition","width","content","contextTypes","childContextTypes","translate","propTypes","bool","string","number","func","LearningPriorityModal","priorities","preselected","isOpen","isLoading","filters","options","onChange","onCancel","onAdd","onClose","selectedPriority","setSelectedPriority","searchValue","setSearchValue","searchResults","setSearchResults","handleCancel","handleClose","handleSearch","value","priority","title","handleSearchReset","priorityList","map","isPreSelectedPriority","some","selected","priorityRef","disabled","footer","cancelButton","label","confirmButton","onConfirm","iconName","LearningPriorityContainer","loaderContainer","loader","searchWrapper","placeholder","filterWrapper","length","index","name","count","handleChange","filterButtonWrapper","priorityListWrapper","courses","type","handlePriorityClick","subtitle","arrayOf","shape","oneOf"],"sources":["../../../src/molecule/learning-priority-modal/index.js"],"sourcesContent":["import React, {useEffect, useMemo, useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, assign, pick} from 'lodash/fp';\nimport {convert} from 'css-color-function';\nimport BaseModal from '../base-modal';\nimport ListItem from '../../organism/list-item';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport SearchForm from '../search-form';\nimport searchValueIncluded from '../../util/search-value-included';\nimport style from './style.css';\n\nconst FilterButton = (props, context) => {\n const {active, filter, itemTotal, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const Content = useCallback(\n () => (\n <div>\n {filter}\n <span\n className={active ? style.skillFilterNumber : style.skillFilterNumberInActive}\n style={{\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',\n color: active ? primarySkinColor : '#515161'\n }}\n >\n {itemTotal}\n </span>\n </div>\n ),\n [filter, itemTotal, active, primarySkinColor]\n );\n\n const buttonProps = {\n customStyle: {\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : 'transparent',\n color: active ? primarySkinColor : '#9999A8',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n onClick,\n content: <Content />,\n 'data-name': 'change-skill-focus-button'\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 active: PropTypes.bool,\n filter: PropTypes.string,\n itemTotal: PropTypes.number,\n onClick: PropTypes.func\n};\n\nconst LearningPriorityModal = (props, context) => {\n const {\n priorities,\n preselected,\n isOpen,\n isLoading,\n filters: {options, onChange},\n onCancel,\n onAdd,\n onClose\n } = props;\n const {translate} = context;\n\n const [selectedPriority, setSelectedPriority] = useState('');\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(priorities);\n\n const handleCancel = useCallback(() => {\n setSelectedPriority('');\n onCancel();\n }, [setSelectedPriority, onCancel]);\n\n const handleClose = useCallback(() => {\n setSelectedPriority('');\n onClose();\n }, [setSelectedPriority, onClose]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(priorities.filter(priority => searchValueIncluded(priority.title, value)));\n },\n [priorities, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(priorities);\n }, [priorities, setSearchValue, setSearchResults]);\n\n useEffect(() => {\n setSearchResults(priorities);\n }, [priorities]);\n\n const priorityList = useMemo(() => {\n return searchResults.map(priority => {\n const isPreSelectedPriority = preselected.some(selected => selected === priority.priorityRef);\n return assign(\n {\n selected: isPreSelectedPriority,\n disabled: isPreSelectedPriority\n },\n pick(['title', 'priorityRef', 'type', 'courses'], priority)\n );\n });\n }, [searchResults, preselected]);\n\n const footer = useMemo(() => {\n return {\n cancelButton: {\n onCancel: handleCancel,\n label: translate('cancel')\n },\n confirmButton: {\n onConfirm: () => {\n onAdd(selectedPriority);\n onClose();\n },\n label: translate('add'),\n iconName: 'plus',\n disabled: isLoading || !selectedPriority\n }\n };\n }, [handleCancel, onAdd, translate, selectedPriority, isLoading]);\n\n if ((!isLoading && !priorities) || !isOpen) return null;\n\n return (\n <BaseModal\n title={translate('learning_priority_modal_title')}\n description={translate('learning_priority_modal_description')}\n isOpen={isOpen}\n onClose={handleClose}\n footer={footer}\n >\n <div className={style.LearningPriorityContainer}>\n {isLoading ? (\n <div className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\n </div>\n ) : (\n <>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_priority_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n <div className={style.filterWrapper}>\n {searchResults.length > 0\n ? options.map((filter, index) => {\n const {name, value, selected, count} = filter;\n\n function handleChange() {\n onChange(value);\n handleSearchReset();\n }\n\n if (count === 0) return null;\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n active={selected}\n filter={name}\n onClick={handleChange}\n itemTotal={count}\n />\n </div>\n );\n })\n : null}\n </div>\n <div className={style.priorityListWrapper}>\n {priorityList.map(priority => {\n const {title, priorityRef, courses = null, type, selected, disabled} = priority;\n function handlePriorityClick() {\n setSelectedPriority(priorityRef);\n }\n\n return (\n <ListItem\n {...(courses !== null ? {subtitle: `${courses} ${translate('courses')}`} : {})}\n title={title}\n selected={selected || selectedPriority === priorityRef}\n disabled={disabled}\n onClick={handlePriorityClick}\n tags={[{label: type, type: 'default'}]}\n key={priorityRef}\n backgroundColor=\"skin\"\n />\n );\n })}\n </div>\n </>\n )}\n </div>\n </BaseModal>\n );\n};\n\nLearningPriorityModal.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nLearningPriorityModal.propTypes = {\n priorities: PropTypes.arrayOf(\n PropTypes.shape({\n priorityRef: PropTypes.string,\n title: PropTypes.string,\n courses: PropTypes.number,\n type: PropTypes.oneOf(['skill', 'playlist', 'certificate'])\n })\n ),\n preselected: PropTypes.arrayOf(PropTypes.string),\n isOpen: PropTypes.bool,\n isLoading: PropTypes.bool,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n ...SelectOptionPropTypes,\n count: PropTypes.number\n })\n )\n }),\n onCancel: PropTypes.func,\n onAdd: PropTypes.func,\n onClose: PropTypes.func\n};\n\nexport default LearningPriorityModal;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useMemo","useState","useCallback","PropTypes","convert","BaseModal","ListItem","ButtonLink","Loader","Provider","SelectOptionPropTypes","SearchForm","searchValueIncluded","style","FilterButton","props","context","active","filter","itemTotal","onClick","skin","primarySkinColor","Content","skillFilterNumber","skillFilterNumberInActive","backgroundColor","color","buttonProps","customStyle","transition","width","content","contextTypes","childContextTypes","translate","propTypes","bool","string","number","func","LearningPriorityModal","priorities","preselected","isOpen","isLoading","filters","onCancel","onAdd","onClose","selectedPriority","setSelectedPriority","selectedPriorityType","setSelectedPriorityType","searchValue","setSearchValue","filterValue","setFilterValue","searchResults","setSearchResults","handleCancel","handleClose","handleSearch","value","priority","title","handleSearchReset","priorityList","map","isPreSelectedPriority","some","selected","priorityRef","disabled","footer","cancelButton","label","confirmButton","onConfirm","iconName","LearningPriorityContainer","loaderContainer","loader","searchWrapper","placeholder","onChange","filterWrapper","length","index","name","count","handleChange","filterButtonWrapper","priorityListWrapper","courses","type","handlePriorityClick","subtitle","arrayOf","shape","oneOf"],"sources":["../../../src/molecule/learning-priority-modal/index.js"],"sourcesContent":["import React, {useEffect, useMemo, useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, assign, pick} from 'lodash/fp';\nimport {convert} from 'css-color-function';\nimport BaseModal from '../base-modal';\nimport ListItem from '../../organism/list-item';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport SearchForm from '../search-form';\nimport searchValueIncluded from '../../util/search-value-included';\nimport style from './style.css';\n\nconst FilterButton = (props, context) => {\n const {active, filter, itemTotal, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const Content = useCallback(\n () => (\n <div>\n {filter}\n <span\n className={active ? style.skillFilterNumber : style.skillFilterNumberInActive}\n style={{\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',\n color: active ? primarySkinColor : '#515161'\n }}\n >\n {itemTotal}\n </span>\n </div>\n ),\n [filter, itemTotal, active, primarySkinColor]\n );\n\n const buttonProps = {\n customStyle: {\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : 'transparent',\n color: active ? primarySkinColor : '#9999A8',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n onClick,\n content: <Content />,\n 'data-name': 'change-skill-focus-button'\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 active: PropTypes.bool,\n filter: PropTypes.string,\n itemTotal: PropTypes.number,\n onClick: PropTypes.func\n};\n\nconst LearningPriorityModal = (props, context) => {\n const {priorities, preselected, isOpen, isLoading, filters, onCancel, onAdd, onClose} = props;\n const {translate} = context;\n\n const [selectedPriority, setSelectedPriority] = useState('');\n const [selectedPriorityType, setSelectedPriorityType] = useState('');\n const [searchValue, setSearchValue] = useState('');\n const [filterValue, setFilterValue] = useState('all');\n const [searchResults, setSearchResults] = useState(priorities);\n\n const handleCancel = useCallback(() => {\n setSelectedPriority('');\n setSelectedPriorityType('');\n onCancel();\n }, [setSelectedPriority, setSelectedPriorityType, onCancel]);\n\n const handleClose = useCallback(() => {\n setSelectedPriority('');\n setSelectedPriorityType('');\n onClose();\n }, [setSelectedPriority, setSelectedPriorityType, onClose]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(priorities.filter(priority => searchValueIncluded(priority.title, value)));\n },\n [priorities, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(priorities);\n }, [priorities, setSearchValue, setSearchResults]);\n\n useEffect(() => {\n setSearchResults(priorities);\n }, [priorities]);\n\n const priorityList = useMemo(() => {\n return searchResults.map(priority => {\n const isPreSelectedPriority = preselected.some(selected => selected === priority.priorityRef);\n return assign(\n {\n selected: isPreSelectedPriority,\n disabled: isPreSelectedPriority\n },\n pick(['title', 'priorityRef', 'type', 'courses'], priority)\n );\n });\n }, [searchResults, preselected]);\n\n const footer = useMemo(() => {\n return {\n cancelButton: {\n onCancel: handleCancel,\n label: translate('cancel')\n },\n confirmButton: {\n onConfirm: () => {\n onAdd(selectedPriority, selectedPriorityType);\n setSelectedPriority('');\n setSelectedPriorityType('');\n onClose();\n },\n label: translate('add'),\n iconName: 'plus',\n disabled: isLoading || !selectedPriority\n }\n };\n }, [\n handleCancel,\n setSelectedPriority,\n setSelectedPriorityType,\n onAdd,\n translate,\n selectedPriority,\n selectedPriorityType,\n isLoading\n ]);\n\n if ((!isLoading && !priorities) || !isOpen) return null;\n\n return (\n <BaseModal\n title={translate('learning_priority_modal_title')}\n description={translate('learning_priority_modal_description')}\n isOpen={isOpen}\n onClose={handleClose}\n footer={footer}\n >\n <div className={style.LearningPriorityContainer}>\n {isLoading ? (\n <div className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\n </div>\n ) : (\n <>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_priority_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n <div className={style.filterWrapper}>\n {searchResults.length > 0\n ? filters.map((filter, index) => {\n const {name, value, count} = filter;\n\n function handleChange() {\n setFilterValue(value);\n handleSearchReset();\n }\n\n if (count === 0) return null;\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n active={filterValue === value}\n filter={name}\n onClick={handleChange}\n itemTotal={count}\n />\n </div>\n );\n })\n : null}\n </div>\n <div className={style.priorityListWrapper}>\n {priorityList.map(priority => {\n const {title, priorityRef, courses = null, type, selected, disabled} = priority;\n function handlePriorityClick() {\n setSelectedPriority(priorityRef);\n setSelectedPriorityType(type);\n }\n\n if (filterValue !== 'all' && type !== filterValue) return null;\n\n return (\n <ListItem\n {...(courses !== null ? {subtitle: `${courses} ${translate('courses')}`} : {})}\n title={title}\n selected={selected || selectedPriority === priorityRef}\n disabled={disabled}\n onClick={handlePriorityClick}\n tags={[{label: type, type: 'default'}]}\n key={priorityRef}\n backgroundColor=\"skin\"\n />\n );\n })}\n </div>\n </>\n )}\n </div>\n </BaseModal>\n );\n};\n\nLearningPriorityModal.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nLearningPriorityModal.propTypes = {\n priorities: PropTypes.arrayOf(\n PropTypes.shape({\n priorityRef: PropTypes.string,\n title: PropTypes.string,\n courses: PropTypes.number,\n type: PropTypes.oneOf(['skill', 'playlist', 'certificate'])\n })\n ),\n preselected: PropTypes.arrayOf(PropTypes.string),\n isOpen: PropTypes.bool,\n isLoading: PropTypes.bool,\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n ...SelectOptionPropTypes,\n count: PropTypes.number\n })\n ),\n onCancel: PropTypes.func,\n onAdd: PropTypes.func,\n onClose: PropTypes.func\n};\n\nexport default LearningPriorityModal;\n"],"mappings":"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"}
@@ -3,6 +3,8 @@
3
3
 
4
4
  .LearningPriorityContainer {
5
5
  height: 485px;
6
+ width: calc(71vw - 68px);
7
+ max-width: 660px;
6
8
  overflow-y: auto;
7
9
  }
8
10
 
@@ -57,7 +59,7 @@
57
59
 
58
60
  .priorityListWrapper {
59
61
  display: flex;
60
- flex-wrap: wrap;
62
+ flex-direction: column;
61
63
  gap: 16px;
62
64
  }
63
65
 
@@ -152,16 +152,13 @@ declare namespace BrandLearningPriorities {
152
152
  courses: PropTypes.Requireable<number>;
153
153
  type: PropTypes.Requireable<string>;
154
154
  }> | null | undefined)[]>;
155
- const filters: PropTypes.Requireable<PropTypes.InferProps<{
156
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
157
- options: PropTypes.Requireable<(PropTypes.InferProps<{
158
- count: PropTypes.Requireable<number>;
159
- name: PropTypes.Validator<string>;
160
- value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
161
- selected: PropTypes.Requireable<boolean>;
162
- validOption: PropTypes.Requireable<boolean>;
163
- }> | null | undefined)[]>;
164
- }>>;
155
+ const filters: PropTypes.Requireable<(PropTypes.InferProps<{
156
+ count: PropTypes.Requireable<number>;
157
+ name: PropTypes.Validator<string>;
158
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
159
+ selected: PropTypes.Requireable<boolean>;
160
+ validOption: PropTypes.Requireable<boolean>;
161
+ }> | null | undefined)[]>;
165
162
  const isLoading: PropTypes.Requireable<boolean>;
166
163
  const onAdd: PropTypes.Requireable<(...args: any[]) => any>;
167
164
  }
@@ -90,12 +90,9 @@ BrandLearningPriorities.propTypes = process.env.NODE_ENV !== "production" ? {
90
90
  courses: PropTypes.number,
91
91
  type: PropTypes.string
92
92
  })),
93
- filters: PropTypes.shape({
94
- onChange: PropTypes.func,
95
- options: PropTypes.arrayOf(PropTypes.shape(_extends({}, SelectOptionPropTypes, {
96
- count: PropTypes.number
97
- })))
98
- }),
93
+ filters: PropTypes.arrayOf(PropTypes.shape(_extends({}, SelectOptionPropTypes, {
94
+ count: PropTypes.number
95
+ }))),
99
96
  isLoading: PropTypes.bool,
100
97
  onAdd: PropTypes.func
101
98
  } : {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useCallback","useMemo","PropTypes","convert","Provider","Loader","SelectOptionPropTypes","DraggableList","ButtonLink","LearningPriorityModal","style","BrandLearningPriorities","props","context","content","priorities","filters","isLoading","onAdd","openModal","setOpenModal","skin","translate","primarySkinColor","selectedPriorities","items","map","priority","priorityRef","Loading","loading","handleOpenModal","handleCloseModal","container","LPtitle","LPdescription","ctaWrapper","priorityCount","length","backgroundColor","color","transition","width","position","faIcon","name","size","contextTypes","childContextTypes","propTypes","shape","arrayOf","ref","string","title","courses","number","type","onChange","func","options","count","bool"],"sources":["../../../src/organism/brand-learning-priorities/index.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {get} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Loader from '../../atom/loader';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport DraggableList from '../../molecule/draggable-list';\nimport ButtonLink from '../../atom/button-link';\nimport LearningPriorityModal from '../../molecule/learning-priority-modal';\nimport style from './style.css';\n\nconst BrandLearningPriorities = (props, context) => {\n const {content, priorities, filters, isLoading, onAdd} = props;\n const [openModal, setOpenModal] = useState(false);\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const selectedPriorities = useMemo(\n () => content.items.map(priority => priority.priorityRef),\n [content.items]\n );\n\n const Loading = useCallback(\n () => (\n <div className={style.loading}>\n <Loader />\n </div>\n ),\n []\n );\n\n const handleOpenModal = useCallback(() => setOpenModal(true), [setOpenModal]);\n const handleCloseModal = useCallback(() => setOpenModal(false), [setOpenModal]);\n return (\n <div className={style.container}>\n <LearningPriorityModal\n isLoading={isLoading}\n isOpen={openModal}\n onCancel={handleCloseModal}\n onClose={handleCloseModal}\n onAdd={onAdd}\n priorities={priorities}\n filters={filters}\n preselected={selectedPriorities}\n />\n <div className={style.LPtitle}>{translate('learning_priorities')}</div>\n <div className={style.LPdescription}>\n {translate('learning_priorities_brand_description')}\n </div>\n\n {isLoading ? (\n <Loading />\n ) : (\n <>\n <div className={style.ctaWrapper}>\n <div className={style.priorityCount}>\n {`${content.items.length} ${translate('items')}`}\n </div>\n <ButtonLink\n customStyle={{\n backgroundColor: primarySkinColor,\n color: '#FFFFFF',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n }}\n hoverBackgroundColor={convert(`color(${primarySkinColor} a(0.07))`)}\n hoverColor={primarySkinColor}\n onClick={handleOpenModal}\n label={translate('add_learning_priority')}\n data-name=\"add-learning-priority\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'plus',\n backgroundColor: primarySkinColor,\n color: '#FFFFFF',\n size: 16\n }\n }}\n />\n </div>\n <DraggableList {...content} />\n </>\n )}\n </div>\n );\n};\n\nBrandLearningPriorities.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nBrandLearningPriorities.propTypes = {\n content: PropTypes.shape(DraggableList.propTypes),\n priorities: PropTypes.arrayOf(\n PropTypes.shape({\n ref: PropTypes.string,\n title: PropTypes.string,\n courses: PropTypes.number,\n type: PropTypes.string\n })\n ),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n ...SelectOptionPropTypes,\n count: PropTypes.number\n })\n )\n }),\n isLoading: PropTypes.bool,\n onAdd: PropTypes.func\n};\n\nexport default BrandLearningPriorities;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useCallback","useMemo","PropTypes","convert","Provider","Loader","SelectOptionPropTypes","DraggableList","ButtonLink","LearningPriorityModal","style","BrandLearningPriorities","props","context","content","priorities","filters","isLoading","onAdd","openModal","setOpenModal","skin","translate","primarySkinColor","selectedPriorities","items","map","priority","priorityRef","Loading","loading","handleOpenModal","handleCloseModal","container","LPtitle","LPdescription","ctaWrapper","priorityCount","length","backgroundColor","color","transition","width","position","faIcon","name","size","contextTypes","childContextTypes","propTypes","shape","arrayOf","ref","string","title","courses","number","type","count","bool","func"],"sources":["../../../src/organism/brand-learning-priorities/index.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {get} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Loader from '../../atom/loader';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport DraggableList from '../../molecule/draggable-list';\nimport ButtonLink from '../../atom/button-link';\nimport LearningPriorityModal from '../../molecule/learning-priority-modal';\nimport style from './style.css';\n\nconst BrandLearningPriorities = (props, context) => {\n const {content, priorities, filters, isLoading, onAdd} = props;\n const [openModal, setOpenModal] = useState(false);\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const selectedPriorities = useMemo(\n () => content.items.map(priority => priority.priorityRef),\n [content.items]\n );\n\n const Loading = useCallback(\n () => (\n <div className={style.loading}>\n <Loader />\n </div>\n ),\n []\n );\n\n const handleOpenModal = useCallback(() => setOpenModal(true), [setOpenModal]);\n const handleCloseModal = useCallback(() => setOpenModal(false), [setOpenModal]);\n return (\n <div className={style.container}>\n <LearningPriorityModal\n isLoading={isLoading}\n isOpen={openModal}\n onCancel={handleCloseModal}\n onClose={handleCloseModal}\n onAdd={onAdd}\n priorities={priorities}\n filters={filters}\n preselected={selectedPriorities}\n />\n <div className={style.LPtitle}>{translate('learning_priorities')}</div>\n <div className={style.LPdescription}>\n {translate('learning_priorities_brand_description')}\n </div>\n\n {isLoading ? (\n <Loading />\n ) : (\n <>\n <div className={style.ctaWrapper}>\n <div className={style.priorityCount}>\n {`${content.items.length} ${translate('items')}`}\n </div>\n <ButtonLink\n customStyle={{\n backgroundColor: primarySkinColor,\n color: '#FFFFFF',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n }}\n hoverBackgroundColor={convert(`color(${primarySkinColor} a(0.07))`)}\n hoverColor={primarySkinColor}\n onClick={handleOpenModal}\n label={translate('add_learning_priority')}\n data-name=\"add-learning-priority\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'plus',\n backgroundColor: primarySkinColor,\n color: '#FFFFFF',\n size: 16\n }\n }}\n />\n </div>\n <DraggableList {...content} />\n </>\n )}\n </div>\n );\n};\n\nBrandLearningPriorities.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nBrandLearningPriorities.propTypes = {\n content: PropTypes.shape(DraggableList.propTypes),\n priorities: PropTypes.arrayOf(\n PropTypes.shape({\n ref: PropTypes.string,\n title: PropTypes.string,\n courses: PropTypes.number,\n type: PropTypes.string\n })\n ),\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n ...SelectOptionPropTypes,\n count: PropTypes.number\n })\n ),\n isLoading: PropTypes.bool,\n onAdd: PropTypes.func\n};\n\nexport default BrandLearningPriorities;\n"],"mappings":"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"}
@@ -862,16 +862,13 @@ declare namespace BrandUpdate {
862
862
  courses: PropTypes.Requireable<number>;
863
863
  type: PropTypes.Requireable<string>;
864
864
  }> | null | undefined)[]>;
865
- filters: PropTypes.Requireable<PropTypes.InferProps<{
866
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
867
- options: PropTypes.Requireable<(PropTypes.InferProps<{
868
- count: PropTypes.Requireable<number>;
869
- name: PropTypes.Validator<string>;
870
- value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
871
- selected: PropTypes.Requireable<boolean>;
872
- validOption: PropTypes.Requireable<boolean>;
873
- }> | null | undefined)[]>;
874
- }>>;
865
+ filters: PropTypes.Requireable<(PropTypes.InferProps<{
866
+ count: PropTypes.Requireable<number>;
867
+ name: PropTypes.Validator<string>;
868
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
869
+ selected: PropTypes.Requireable<boolean>;
870
+ validOption: PropTypes.Requireable<boolean>;
871
+ }> | null | undefined)[]>;
875
872
  isLoading: PropTypes.Requireable<boolean>;
876
873
  onAdd: PropTypes.Requireable<(...args: any[]) => any>;
877
874
  }> | null | undefined>>;
@@ -14,16 +14,13 @@ declare namespace LearningPriorityModal {
14
14
  const preselected: PropTypes.Requireable<(string | null | undefined)[]>;
15
15
  const isOpen: PropTypes.Requireable<boolean>;
16
16
  const isLoading: PropTypes.Requireable<boolean>;
17
- const filters: PropTypes.Requireable<PropTypes.InferProps<{
18
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
19
- options: PropTypes.Requireable<(PropTypes.InferProps<{
20
- count: PropTypes.Requireable<number>;
21
- name: PropTypes.Validator<string>;
22
- value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
23
- selected: PropTypes.Requireable<boolean>;
24
- validOption: PropTypes.Requireable<boolean>;
25
- }> | null | undefined)[]>;
26
- }>>;
17
+ const filters: PropTypes.Requireable<(PropTypes.InferProps<{
18
+ count: PropTypes.Requireable<number>;
19
+ name: PropTypes.Validator<string>;
20
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
21
+ selected: PropTypes.Requireable<boolean>;
22
+ validOption: PropTypes.Requireable<boolean>;
23
+ }> | null | undefined)[]>;
27
24
  const onCancel: PropTypes.Requireable<(...args: any[]) => any>;
28
25
  const onAdd: PropTypes.Requireable<(...args: any[]) => any>;
29
26
  const onClose: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/learning-priority-modal/index.js"],"names":[],"mappings":";AAgEA,qFAyJC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/learning-priority-modal/index.js"],"names":[],"mappings":";AAgEA,qFAkKC"}
@@ -90,10 +90,7 @@ const LearningPriorityModal = (props, context) => {
90
90
  preselected,
91
91
  isOpen,
92
92
  isLoading,
93
- filters: {
94
- options,
95
- onChange
96
- },
93
+ filters,
97
94
  onCancel,
98
95
  onAdd,
99
96
  onClose
@@ -102,16 +99,20 @@ const LearningPriorityModal = (props, context) => {
102
99
  translate
103
100
  } = context;
104
101
  const [selectedPriority, setSelectedPriority] = (0, _react.useState)('');
102
+ const [selectedPriorityType, setSelectedPriorityType] = (0, _react.useState)('');
105
103
  const [searchValue, setSearchValue] = (0, _react.useState)('');
104
+ const [filterValue, setFilterValue] = (0, _react.useState)('all');
106
105
  const [searchResults, setSearchResults] = (0, _react.useState)(priorities);
107
106
  const handleCancel = (0, _react.useCallback)(() => {
108
107
  setSelectedPriority('');
108
+ setSelectedPriorityType('');
109
109
  onCancel();
110
- }, [setSelectedPriority, onCancel]);
110
+ }, [setSelectedPriority, setSelectedPriorityType, onCancel]);
111
111
  const handleClose = (0, _react.useCallback)(() => {
112
112
  setSelectedPriority('');
113
+ setSelectedPriorityType('');
113
114
  onClose();
114
- }, [setSelectedPriority, onClose]);
115
+ }, [setSelectedPriority, setSelectedPriorityType, onClose]);
115
116
  const handleSearch = (0, _react.useCallback)(value => {
116
117
  setSearchValue(value);
117
118
  setSearchResults(priorities.filter(priority => (0, _searchValueIncluded.default)(priority.title, value)));
@@ -140,7 +141,9 @@ const LearningPriorityModal = (props, context) => {
140
141
  },
141
142
  confirmButton: {
142
143
  onConfirm: () => {
143
- onAdd(selectedPriority);
144
+ onAdd(selectedPriority, selectedPriorityType);
145
+ setSelectedPriority('');
146
+ setSelectedPriorityType('');
144
147
  onClose();
145
148
  },
146
149
  label: translate('add'),
@@ -148,7 +151,7 @@ const LearningPriorityModal = (props, context) => {
148
151
  disabled: isLoading || !selectedPriority
149
152
  }
150
153
  };
151
- }, [handleCancel, onAdd, translate, selectedPriority, isLoading]);
154
+ }, [handleCancel, setSelectedPriority, setSelectedPriorityType, onAdd, translate, selectedPriority, selectedPriorityType, isLoading]);
152
155
  if (!isLoading && !priorities || !isOpen) return null;
153
156
  return /*#__PURE__*/_react.default.createElement(_baseModal.default, {
154
157
  title: translate('learning_priority_modal_title'),
@@ -174,16 +177,15 @@ const LearningPriorityModal = (props, context) => {
174
177
  onReset: handleSearchReset
175
178
  })), /*#__PURE__*/_react.default.createElement("div", {
176
179
  className: _style.default.filterWrapper
177
- }, searchResults.length > 0 ? options.map((filter, index) => {
180
+ }, searchResults.length > 0 ? filters.map((filter, index) => {
178
181
  const {
179
182
  name,
180
183
  value,
181
- selected,
182
184
  count
183
185
  } = filter;
184
186
 
185
187
  function handleChange() {
186
- onChange(value);
188
+ setFilterValue(value);
187
189
  handleSearchReset();
188
190
  }
189
191
 
@@ -192,7 +194,7 @@ const LearningPriorityModal = (props, context) => {
192
194
  key: index,
193
195
  className: _style.default.filterButtonWrapper
194
196
  }, /*#__PURE__*/_react.default.createElement(FilterButton, {
195
- active: selected,
197
+ active: filterValue === value,
196
198
  filter: name,
197
199
  onClick: handleChange,
198
200
  itemTotal: count
@@ -211,8 +213,10 @@ const LearningPriorityModal = (props, context) => {
211
213
 
212
214
  function handlePriorityClick() {
213
215
  setSelectedPriority(priorityRef);
216
+ setSelectedPriorityType(type);
214
217
  }
215
218
 
219
+ if (filterValue !== 'all' && type !== filterValue) return null;
216
220
  return /*#__PURE__*/_react.default.createElement(_listItem.default, _extends({}, courses !== null ? {
217
221
  subtitle: `${courses} ${translate('courses')}`
218
222
  } : {}, {
@@ -243,12 +247,9 @@ LearningPriorityModal.propTypes = process.env.NODE_ENV !== "production" ? {
243
247
  preselected: _propTypes.default.arrayOf(_propTypes.default.string),
244
248
  isOpen: _propTypes.default.bool,
245
249
  isLoading: _propTypes.default.bool,
246
- filters: _propTypes.default.shape({
247
- onChange: _propTypes.default.func,
248
- options: _propTypes.default.arrayOf(_propTypes.default.shape(_extends({}, _select.SelectOptionPropTypes, {
249
- count: _propTypes.default.number
250
- })))
251
- }),
250
+ filters: _propTypes.default.arrayOf(_propTypes.default.shape(_extends({}, _select.SelectOptionPropTypes, {
251
+ count: _propTypes.default.number
252
+ }))),
252
253
  onCancel: _propTypes.default.func,
253
254
  onAdd: _propTypes.default.func,
254
255
  onClose: _propTypes.default.func
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["FilterButton","props","context","active","filter","itemTotal","onClick","skin","primarySkinColor","Content","useCallback","style","skillFilterNumber","skillFilterNumberInActive","backgroundColor","convert","color","buttonProps","customStyle","transition","width","content","contextTypes","Provider","childContextTypes","translate","propTypes","PropTypes","bool","string","number","func","LearningPriorityModal","priorities","preselected","isOpen","isLoading","filters","options","onChange","onCancel","onAdd","onClose","selectedPriority","setSelectedPriority","useState","searchValue","setSearchValue","searchResults","setSearchResults","handleCancel","handleClose","handleSearch","value","priority","searchValueIncluded","title","handleSearchReset","useEffect","priorityList","useMemo","map","isPreSelectedPriority","some","selected","priorityRef","disabled","footer","cancelButton","label","confirmButton","onConfirm","iconName","LearningPriorityContainer","loaderContainer","loader","searchWrapper","placeholder","filterWrapper","length","index","name","count","handleChange","filterButtonWrapper","priorityListWrapper","courses","type","handlePriorityClick","subtitle","arrayOf","shape","oneOf","SelectOptionPropTypes"],"sources":["../../../src/molecule/learning-priority-modal/index.js"],"sourcesContent":["import React, {useEffect, useMemo, useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, assign, pick} from 'lodash/fp';\nimport {convert} from 'css-color-function';\nimport BaseModal from '../base-modal';\nimport ListItem from '../../organism/list-item';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport SearchForm from '../search-form';\nimport searchValueIncluded from '../../util/search-value-included';\nimport style from './style.css';\n\nconst FilterButton = (props, context) => {\n const {active, filter, itemTotal, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const Content = useCallback(\n () => (\n <div>\n {filter}\n <span\n className={active ? style.skillFilterNumber : style.skillFilterNumberInActive}\n style={{\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',\n color: active ? primarySkinColor : '#515161'\n }}\n >\n {itemTotal}\n </span>\n </div>\n ),\n [filter, itemTotal, active, primarySkinColor]\n );\n\n const buttonProps = {\n customStyle: {\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : 'transparent',\n color: active ? primarySkinColor : '#9999A8',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n onClick,\n content: <Content />,\n 'data-name': 'change-skill-focus-button'\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 active: PropTypes.bool,\n filter: PropTypes.string,\n itemTotal: PropTypes.number,\n onClick: PropTypes.func\n};\n\nconst LearningPriorityModal = (props, context) => {\n const {\n priorities,\n preselected,\n isOpen,\n isLoading,\n filters: {options, onChange},\n onCancel,\n onAdd,\n onClose\n } = props;\n const {translate} = context;\n\n const [selectedPriority, setSelectedPriority] = useState('');\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(priorities);\n\n const handleCancel = useCallback(() => {\n setSelectedPriority('');\n onCancel();\n }, [setSelectedPriority, onCancel]);\n\n const handleClose = useCallback(() => {\n setSelectedPriority('');\n onClose();\n }, [setSelectedPriority, onClose]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(priorities.filter(priority => searchValueIncluded(priority.title, value)));\n },\n [priorities, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(priorities);\n }, [priorities, setSearchValue, setSearchResults]);\n\n useEffect(() => {\n setSearchResults(priorities);\n }, [priorities]);\n\n const priorityList = useMemo(() => {\n return searchResults.map(priority => {\n const isPreSelectedPriority = preselected.some(selected => selected === priority.priorityRef);\n return assign(\n {\n selected: isPreSelectedPriority,\n disabled: isPreSelectedPriority\n },\n pick(['title', 'priorityRef', 'type', 'courses'], priority)\n );\n });\n }, [searchResults, preselected]);\n\n const footer = useMemo(() => {\n return {\n cancelButton: {\n onCancel: handleCancel,\n label: translate('cancel')\n },\n confirmButton: {\n onConfirm: () => {\n onAdd(selectedPriority);\n onClose();\n },\n label: translate('add'),\n iconName: 'plus',\n disabled: isLoading || !selectedPriority\n }\n };\n }, [handleCancel, onAdd, translate, selectedPriority, isLoading]);\n\n if ((!isLoading && !priorities) || !isOpen) return null;\n\n return (\n <BaseModal\n title={translate('learning_priority_modal_title')}\n description={translate('learning_priority_modal_description')}\n isOpen={isOpen}\n onClose={handleClose}\n footer={footer}\n >\n <div className={style.LearningPriorityContainer}>\n {isLoading ? (\n <div className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\n </div>\n ) : (\n <>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_priority_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n <div className={style.filterWrapper}>\n {searchResults.length > 0\n ? options.map((filter, index) => {\n const {name, value, selected, count} = filter;\n\n function handleChange() {\n onChange(value);\n handleSearchReset();\n }\n\n if (count === 0) return null;\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n active={selected}\n filter={name}\n onClick={handleChange}\n itemTotal={count}\n />\n </div>\n );\n })\n : null}\n </div>\n <div className={style.priorityListWrapper}>\n {priorityList.map(priority => {\n const {title, priorityRef, courses = null, type, selected, disabled} = priority;\n function handlePriorityClick() {\n setSelectedPriority(priorityRef);\n }\n\n return (\n <ListItem\n {...(courses !== null ? {subtitle: `${courses} ${translate('courses')}`} : {})}\n title={title}\n selected={selected || selectedPriority === priorityRef}\n disabled={disabled}\n onClick={handlePriorityClick}\n tags={[{label: type, type: 'default'}]}\n key={priorityRef}\n backgroundColor=\"skin\"\n />\n );\n })}\n </div>\n </>\n )}\n </div>\n </BaseModal>\n );\n};\n\nLearningPriorityModal.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nLearningPriorityModal.propTypes = {\n priorities: PropTypes.arrayOf(\n PropTypes.shape({\n priorityRef: PropTypes.string,\n title: PropTypes.string,\n courses: PropTypes.number,\n type: PropTypes.oneOf(['skill', 'playlist', 'certificate'])\n })\n ),\n preselected: PropTypes.arrayOf(PropTypes.string),\n isOpen: PropTypes.bool,\n isLoading: PropTypes.bool,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n ...SelectOptionPropTypes,\n count: PropTypes.number\n })\n )\n }),\n onCancel: PropTypes.func,\n onAdd: PropTypes.func,\n onClose: PropTypes.func\n};\n\nexport default LearningPriorityModal;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["FilterButton","props","context","active","filter","itemTotal","onClick","skin","primarySkinColor","Content","useCallback","style","skillFilterNumber","skillFilterNumberInActive","backgroundColor","convert","color","buttonProps","customStyle","transition","width","content","contextTypes","Provider","childContextTypes","translate","propTypes","PropTypes","bool","string","number","func","LearningPriorityModal","priorities","preselected","isOpen","isLoading","filters","onCancel","onAdd","onClose","selectedPriority","setSelectedPriority","useState","selectedPriorityType","setSelectedPriorityType","searchValue","setSearchValue","filterValue","setFilterValue","searchResults","setSearchResults","handleCancel","handleClose","handleSearch","value","priority","searchValueIncluded","title","handleSearchReset","useEffect","priorityList","useMemo","map","isPreSelectedPriority","some","selected","priorityRef","disabled","footer","cancelButton","label","confirmButton","onConfirm","iconName","LearningPriorityContainer","loaderContainer","loader","searchWrapper","placeholder","onChange","filterWrapper","length","index","name","count","handleChange","filterButtonWrapper","priorityListWrapper","courses","type","handlePriorityClick","subtitle","arrayOf","shape","oneOf","SelectOptionPropTypes"],"sources":["../../../src/molecule/learning-priority-modal/index.js"],"sourcesContent":["import React, {useEffect, useMemo, useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, assign, pick} from 'lodash/fp';\nimport {convert} from 'css-color-function';\nimport BaseModal from '../base-modal';\nimport ListItem from '../../organism/list-item';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport SearchForm from '../search-form';\nimport searchValueIncluded from '../../util/search-value-included';\nimport style from './style.css';\n\nconst FilterButton = (props, context) => {\n const {active, filter, itemTotal, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const Content = useCallback(\n () => (\n <div>\n {filter}\n <span\n className={active ? style.skillFilterNumber : style.skillFilterNumberInActive}\n style={{\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',\n color: active ? primarySkinColor : '#515161'\n }}\n >\n {itemTotal}\n </span>\n </div>\n ),\n [filter, itemTotal, active, primarySkinColor]\n );\n\n const buttonProps = {\n customStyle: {\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : 'transparent',\n color: active ? primarySkinColor : '#9999A8',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n onClick,\n content: <Content />,\n 'data-name': 'change-skill-focus-button'\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 active: PropTypes.bool,\n filter: PropTypes.string,\n itemTotal: PropTypes.number,\n onClick: PropTypes.func\n};\n\nconst LearningPriorityModal = (props, context) => {\n const {priorities, preselected, isOpen, isLoading, filters, onCancel, onAdd, onClose} = props;\n const {translate} = context;\n\n const [selectedPriority, setSelectedPriority] = useState('');\n const [selectedPriorityType, setSelectedPriorityType] = useState('');\n const [searchValue, setSearchValue] = useState('');\n const [filterValue, setFilterValue] = useState('all');\n const [searchResults, setSearchResults] = useState(priorities);\n\n const handleCancel = useCallback(() => {\n setSelectedPriority('');\n setSelectedPriorityType('');\n onCancel();\n }, [setSelectedPriority, setSelectedPriorityType, onCancel]);\n\n const handleClose = useCallback(() => {\n setSelectedPriority('');\n setSelectedPriorityType('');\n onClose();\n }, [setSelectedPriority, setSelectedPriorityType, onClose]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(priorities.filter(priority => searchValueIncluded(priority.title, value)));\n },\n [priorities, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(priorities);\n }, [priorities, setSearchValue, setSearchResults]);\n\n useEffect(() => {\n setSearchResults(priorities);\n }, [priorities]);\n\n const priorityList = useMemo(() => {\n return searchResults.map(priority => {\n const isPreSelectedPriority = preselected.some(selected => selected === priority.priorityRef);\n return assign(\n {\n selected: isPreSelectedPriority,\n disabled: isPreSelectedPriority\n },\n pick(['title', 'priorityRef', 'type', 'courses'], priority)\n );\n });\n }, [searchResults, preselected]);\n\n const footer = useMemo(() => {\n return {\n cancelButton: {\n onCancel: handleCancel,\n label: translate('cancel')\n },\n confirmButton: {\n onConfirm: () => {\n onAdd(selectedPriority, selectedPriorityType);\n setSelectedPriority('');\n setSelectedPriorityType('');\n onClose();\n },\n label: translate('add'),\n iconName: 'plus',\n disabled: isLoading || !selectedPriority\n }\n };\n }, [\n handleCancel,\n setSelectedPriority,\n setSelectedPriorityType,\n onAdd,\n translate,\n selectedPriority,\n selectedPriorityType,\n isLoading\n ]);\n\n if ((!isLoading && !priorities) || !isOpen) return null;\n\n return (\n <BaseModal\n title={translate('learning_priority_modal_title')}\n description={translate('learning_priority_modal_description')}\n isOpen={isOpen}\n onClose={handleClose}\n footer={footer}\n >\n <div className={style.LearningPriorityContainer}>\n {isLoading ? (\n <div className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\n </div>\n ) : (\n <>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_priority_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n <div className={style.filterWrapper}>\n {searchResults.length > 0\n ? filters.map((filter, index) => {\n const {name, value, count} = filter;\n\n function handleChange() {\n setFilterValue(value);\n handleSearchReset();\n }\n\n if (count === 0) return null;\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n active={filterValue === value}\n filter={name}\n onClick={handleChange}\n itemTotal={count}\n />\n </div>\n );\n })\n : null}\n </div>\n <div className={style.priorityListWrapper}>\n {priorityList.map(priority => {\n const {title, priorityRef, courses = null, type, selected, disabled} = priority;\n function handlePriorityClick() {\n setSelectedPriority(priorityRef);\n setSelectedPriorityType(type);\n }\n\n if (filterValue !== 'all' && type !== filterValue) return null;\n\n return (\n <ListItem\n {...(courses !== null ? {subtitle: `${courses} ${translate('courses')}`} : {})}\n title={title}\n selected={selected || selectedPriority === priorityRef}\n disabled={disabled}\n onClick={handlePriorityClick}\n tags={[{label: type, type: 'default'}]}\n key={priorityRef}\n backgroundColor=\"skin\"\n />\n );\n })}\n </div>\n </>\n )}\n </div>\n </BaseModal>\n );\n};\n\nLearningPriorityModal.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nLearningPriorityModal.propTypes = {\n priorities: PropTypes.arrayOf(\n PropTypes.shape({\n priorityRef: PropTypes.string,\n title: PropTypes.string,\n courses: PropTypes.number,\n type: PropTypes.oneOf(['skill', 'playlist', 'certificate'])\n })\n ),\n preselected: PropTypes.arrayOf(PropTypes.string),\n isOpen: PropTypes.bool,\n isLoading: PropTypes.bool,\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n ...SelectOptionPropTypes,\n count: PropTypes.number\n })\n ),\n onCancel: PropTypes.func,\n onAdd: PropTypes.func,\n onClose: PropTypes.func\n};\n\nexport default LearningPriorityModal;\n"],"mappings":"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"}
@@ -3,6 +3,8 @@
3
3
 
4
4
  .LearningPriorityContainer {
5
5
  height: 485px;
6
+ width: calc(71vw - 68px);
7
+ max-width: 660px;
6
8
  overflow-y: auto;
7
9
  }
8
10
 
@@ -57,7 +59,7 @@
57
59
 
58
60
  .priorityListWrapper {
59
61
  display: flex;
60
- flex-wrap: wrap;
62
+ flex-direction: column;
61
63
  gap: 16px;
62
64
  }
63
65
 
@@ -152,16 +152,13 @@ declare namespace BrandLearningPriorities {
152
152
  courses: PropTypes.Requireable<number>;
153
153
  type: PropTypes.Requireable<string>;
154
154
  }> | null | undefined)[]>;
155
- const filters: PropTypes.Requireable<PropTypes.InferProps<{
156
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
157
- options: PropTypes.Requireable<(PropTypes.InferProps<{
158
- count: PropTypes.Requireable<number>;
159
- name: PropTypes.Validator<string>;
160
- value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
161
- selected: PropTypes.Requireable<boolean>;
162
- validOption: PropTypes.Requireable<boolean>;
163
- }> | null | undefined)[]>;
164
- }>>;
155
+ const filters: PropTypes.Requireable<(PropTypes.InferProps<{
156
+ count: PropTypes.Requireable<number>;
157
+ name: PropTypes.Validator<string>;
158
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
159
+ selected: PropTypes.Requireable<boolean>;
160
+ validOption: PropTypes.Requireable<boolean>;
161
+ }> | null | undefined)[]>;
165
162
  const isLoading: PropTypes.Requireable<boolean>;
166
163
  const onAdd: PropTypes.Requireable<(...args: any[]) => any>;
167
164
  }
@@ -108,12 +108,9 @@ BrandLearningPriorities.propTypes = process.env.NODE_ENV !== "production" ? {
108
108
  courses: _propTypes.default.number,
109
109
  type: _propTypes.default.string
110
110
  })),
111
- filters: _propTypes.default.shape({
112
- onChange: _propTypes.default.func,
113
- options: _propTypes.default.arrayOf(_propTypes.default.shape(_extends({}, _select.SelectOptionPropTypes, {
114
- count: _propTypes.default.number
115
- })))
116
- }),
111
+ filters: _propTypes.default.arrayOf(_propTypes.default.shape(_extends({}, _select.SelectOptionPropTypes, {
112
+ count: _propTypes.default.number
113
+ }))),
117
114
  isLoading: _propTypes.default.bool,
118
115
  onAdd: _propTypes.default.func
119
116
  } : {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["BrandLearningPriorities","props","context","content","priorities","filters","isLoading","onAdd","openModal","setOpenModal","useState","skin","translate","primarySkinColor","selectedPriorities","useMemo","items","map","priority","priorityRef","Loading","useCallback","style","loading","handleOpenModal","handleCloseModal","container","LPtitle","LPdescription","ctaWrapper","priorityCount","length","backgroundColor","color","transition","width","convert","position","faIcon","name","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","shape","DraggableList","arrayOf","ref","string","title","courses","number","type","onChange","func","options","SelectOptionPropTypes","count","bool"],"sources":["../../../src/organism/brand-learning-priorities/index.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {get} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Loader from '../../atom/loader';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport DraggableList from '../../molecule/draggable-list';\nimport ButtonLink from '../../atom/button-link';\nimport LearningPriorityModal from '../../molecule/learning-priority-modal';\nimport style from './style.css';\n\nconst BrandLearningPriorities = (props, context) => {\n const {content, priorities, filters, isLoading, onAdd} = props;\n const [openModal, setOpenModal] = useState(false);\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const selectedPriorities = useMemo(\n () => content.items.map(priority => priority.priorityRef),\n [content.items]\n );\n\n const Loading = useCallback(\n () => (\n <div className={style.loading}>\n <Loader />\n </div>\n ),\n []\n );\n\n const handleOpenModal = useCallback(() => setOpenModal(true), [setOpenModal]);\n const handleCloseModal = useCallback(() => setOpenModal(false), [setOpenModal]);\n return (\n <div className={style.container}>\n <LearningPriorityModal\n isLoading={isLoading}\n isOpen={openModal}\n onCancel={handleCloseModal}\n onClose={handleCloseModal}\n onAdd={onAdd}\n priorities={priorities}\n filters={filters}\n preselected={selectedPriorities}\n />\n <div className={style.LPtitle}>{translate('learning_priorities')}</div>\n <div className={style.LPdescription}>\n {translate('learning_priorities_brand_description')}\n </div>\n\n {isLoading ? (\n <Loading />\n ) : (\n <>\n <div className={style.ctaWrapper}>\n <div className={style.priorityCount}>\n {`${content.items.length} ${translate('items')}`}\n </div>\n <ButtonLink\n customStyle={{\n backgroundColor: primarySkinColor,\n color: '#FFFFFF',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n }}\n hoverBackgroundColor={convert(`color(${primarySkinColor} a(0.07))`)}\n hoverColor={primarySkinColor}\n onClick={handleOpenModal}\n label={translate('add_learning_priority')}\n data-name=\"add-learning-priority\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'plus',\n backgroundColor: primarySkinColor,\n color: '#FFFFFF',\n size: 16\n }\n }}\n />\n </div>\n <DraggableList {...content} />\n </>\n )}\n </div>\n );\n};\n\nBrandLearningPriorities.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nBrandLearningPriorities.propTypes = {\n content: PropTypes.shape(DraggableList.propTypes),\n priorities: PropTypes.arrayOf(\n PropTypes.shape({\n ref: PropTypes.string,\n title: PropTypes.string,\n courses: PropTypes.number,\n type: PropTypes.string\n })\n ),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n ...SelectOptionPropTypes,\n count: PropTypes.number\n })\n )\n }),\n isLoading: PropTypes.bool,\n onAdd: PropTypes.func\n};\n\nexport default BrandLearningPriorities;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["BrandLearningPriorities","props","context","content","priorities","filters","isLoading","onAdd","openModal","setOpenModal","useState","skin","translate","primarySkinColor","selectedPriorities","useMemo","items","map","priority","priorityRef","Loading","useCallback","style","loading","handleOpenModal","handleCloseModal","container","LPtitle","LPdescription","ctaWrapper","priorityCount","length","backgroundColor","color","transition","width","convert","position","faIcon","name","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","shape","DraggableList","arrayOf","ref","string","title","courses","number","type","SelectOptionPropTypes","count","bool","func"],"sources":["../../../src/organism/brand-learning-priorities/index.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {get} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Loader from '../../atom/loader';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport DraggableList from '../../molecule/draggable-list';\nimport ButtonLink from '../../atom/button-link';\nimport LearningPriorityModal from '../../molecule/learning-priority-modal';\nimport style from './style.css';\n\nconst BrandLearningPriorities = (props, context) => {\n const {content, priorities, filters, isLoading, onAdd} = props;\n const [openModal, setOpenModal] = useState(false);\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const selectedPriorities = useMemo(\n () => content.items.map(priority => priority.priorityRef),\n [content.items]\n );\n\n const Loading = useCallback(\n () => (\n <div className={style.loading}>\n <Loader />\n </div>\n ),\n []\n );\n\n const handleOpenModal = useCallback(() => setOpenModal(true), [setOpenModal]);\n const handleCloseModal = useCallback(() => setOpenModal(false), [setOpenModal]);\n return (\n <div className={style.container}>\n <LearningPriorityModal\n isLoading={isLoading}\n isOpen={openModal}\n onCancel={handleCloseModal}\n onClose={handleCloseModal}\n onAdd={onAdd}\n priorities={priorities}\n filters={filters}\n preselected={selectedPriorities}\n />\n <div className={style.LPtitle}>{translate('learning_priorities')}</div>\n <div className={style.LPdescription}>\n {translate('learning_priorities_brand_description')}\n </div>\n\n {isLoading ? (\n <Loading />\n ) : (\n <>\n <div className={style.ctaWrapper}>\n <div className={style.priorityCount}>\n {`${content.items.length} ${translate('items')}`}\n </div>\n <ButtonLink\n customStyle={{\n backgroundColor: primarySkinColor,\n color: '#FFFFFF',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n }}\n hoverBackgroundColor={convert(`color(${primarySkinColor} a(0.07))`)}\n hoverColor={primarySkinColor}\n onClick={handleOpenModal}\n label={translate('add_learning_priority')}\n data-name=\"add-learning-priority\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'plus',\n backgroundColor: primarySkinColor,\n color: '#FFFFFF',\n size: 16\n }\n }}\n />\n </div>\n <DraggableList {...content} />\n </>\n )}\n </div>\n );\n};\n\nBrandLearningPriorities.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nBrandLearningPriorities.propTypes = {\n content: PropTypes.shape(DraggableList.propTypes),\n priorities: PropTypes.arrayOf(\n PropTypes.shape({\n ref: PropTypes.string,\n title: PropTypes.string,\n courses: PropTypes.number,\n type: PropTypes.string\n })\n ),\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n ...SelectOptionPropTypes,\n count: PropTypes.number\n })\n ),\n isLoading: PropTypes.bool,\n onAdd: PropTypes.func\n};\n\nexport default BrandLearningPriorities;\n"],"mappings":"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"}
@@ -862,16 +862,13 @@ declare namespace BrandUpdate {
862
862
  courses: PropTypes.Requireable<number>;
863
863
  type: PropTypes.Requireable<string>;
864
864
  }> | null | undefined)[]>;
865
- filters: PropTypes.Requireable<PropTypes.InferProps<{
866
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
867
- options: PropTypes.Requireable<(PropTypes.InferProps<{
868
- count: PropTypes.Requireable<number>;
869
- name: PropTypes.Validator<string>;
870
- value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
871
- selected: PropTypes.Requireable<boolean>;
872
- validOption: PropTypes.Requireable<boolean>;
873
- }> | null | undefined)[]>;
874
- }>>;
865
+ filters: PropTypes.Requireable<(PropTypes.InferProps<{
866
+ count: PropTypes.Requireable<number>;
867
+ name: PropTypes.Validator<string>;
868
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
869
+ selected: PropTypes.Requireable<boolean>;
870
+ validOption: PropTypes.Requireable<boolean>;
871
+ }> | null | undefined)[]>;
875
872
  isLoading: PropTypes.Requireable<boolean>;
876
873
  onAdd: PropTypes.Requireable<(...args: any[]) => any>;
877
874
  }> | null | undefined>>;
@@ -49,6 +49,7 @@
49
49
  "empty_search_result_clear_search": "Clear search",
50
50
  "keep_subscription": "Keep my subscription",
51
51
  "learning_priorities": "Learning priorities",
52
+ "learning_priorities_description": "Your top learning priorities defined by your company",
52
53
  "learning_priorities_brand_description": "Define learning priorities for your company with skills, playlists or certifications. They will appear on the My Learning page.",
53
54
  "media_stars_to_win_plural": "Win {{count}} additional stars in this chapter the first time you view a lesson!",
54
55
  "media_stars_to_win": "Win {{count}} additional star in this chapter the first time you view a lesson!",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.32.20-alpha.38.37+7a0dbaca0",
3
+ "version": "11.32.20-alpha.40+aa87af2bc",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -177,5 +177,5 @@
177
177
  "last 2 versions",
178
178
  "IE 11"
179
179
  ],
180
- "gitHead": "7a0dbaca0e641701e53e18ee1951ead91b8e6873"
180
+ "gitHead": "aa87af2bcbbb0a59f3ffcd7fc95a1557eba39cca"
181
181
  }