@coorpacademy/components 10.5.7-alpha.9 → 10.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/es/atom/select/index.js +3 -2
  2. package/es/atom/select/index.js.map +1 -1
  3. package/es/atom/select/style.css +36 -0
  4. package/es/atom/select/test/fixtures.js +2 -0
  5. package/es/atom/select/test/fixtures.js.map +1 -1
  6. package/es/molecule/card/customer.js +6 -3
  7. package/es/molecule/card/customer.js.map +1 -1
  8. package/es/molecule/card/favorite.js +13 -4
  9. package/es/molecule/card/favorite.js.map +1 -1
  10. package/es/molecule/card/index.js +41 -12
  11. package/es/molecule/card/index.js.map +1 -1
  12. package/es/molecule/card/selectable.js +11 -4
  13. package/es/molecule/card/selectable.js.map +1 -1
  14. package/es/molecule/card/test/fixtures/default.js +20 -1
  15. package/es/molecule/card/test/fixtures/default.js.map +1 -1
  16. package/es/molecule/card-content/index.js +20 -7
  17. package/es/molecule/card-content/index.js.map +1 -1
  18. package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
  19. package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
  20. package/es/molecule/questions/free-text/test/fixtures.js +4 -2
  21. package/es/molecule/questions/free-text/test/fixtures.js.map +1 -1
  22. package/es/molecule/questions/template/index.js +2 -1
  23. package/es/molecule/questions/template/index.js.map +1 -1
  24. package/es/molecule/questions/template/style.css +6 -0
  25. package/es/variables/colors.css +2 -0
  26. package/lib/atom/select/index.js +3 -2
  27. package/lib/atom/select/index.js.map +1 -1
  28. package/lib/atom/select/style.css +36 -0
  29. package/lib/atom/select/test/fixtures.js +3 -0
  30. package/lib/atom/select/test/fixtures.js.map +1 -1
  31. package/lib/molecule/card/customer.js +6 -3
  32. package/lib/molecule/card/customer.js.map +1 -1
  33. package/lib/molecule/card/favorite.js +13 -4
  34. package/lib/molecule/card/favorite.js.map +1 -1
  35. package/lib/molecule/card/index.js +41 -12
  36. package/lib/molecule/card/index.js.map +1 -1
  37. package/lib/molecule/card/selectable.js +11 -4
  38. package/lib/molecule/card/selectable.js.map +1 -1
  39. package/lib/molecule/card/test/fixtures/default.js +20 -1
  40. package/lib/molecule/card/test/fixtures/default.js.map +1 -1
  41. package/lib/molecule/card-content/index.js +21 -7
  42. package/lib/molecule/card-content/index.js.map +1 -1
  43. package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
  44. package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
  45. package/lib/molecule/questions/free-text/test/fixtures.js +5 -2
  46. package/lib/molecule/questions/free-text/test/fixtures.js.map +1 -1
  47. package/lib/molecule/questions/template/index.js +2 -1
  48. package/lib/molecule/questions/template/index.js.map +1 -1
  49. package/lib/molecule/questions/template/style.css +6 -0
  50. package/lib/variables/colors.css +2 -0
  51. package/package.json +2 -2
  52. package/es/molecule/cockpit-popin/test/fixtures.js +0 -17
  53. package/es/molecule/cockpit-popin/test/fixtures.js.map +0 -1
  54. package/es/molecule/search/test/fixtures.js +0 -15
  55. package/es/molecule/search/test/fixtures.js.map +0 -1
  56. package/lib/molecule/cockpit-popin/test/fixtures.js +0 -28
  57. package/lib/molecule/cockpit-popin/test/fixtures.js.map +0 -1
  58. package/lib/molecule/search/test/fixtures.js +0 -25
  59. package/lib/molecule/search/test/fixtures.js.map +0 -1
@@ -81,9 +81,10 @@ const Select = (props, context) => {
81
81
  const black = useMemo(() => _getOr('#14171A', 'common.black', skin), [skin]);
82
82
  const color = useMemo(() => _getOr('#00B0FF', 'common.primary', skin), [skin]);
83
83
  const shouldUseSkinFontColor = useMemo(() => !isSelectedInValidOption && selected && _includes(theme, ['question', 'template', 'player']), [isSelectedInValidOption, selected, theme]);
84
+ const arrowColor = selected ? color : undefined;
84
85
  const arrowView = !multiple ? /*#__PURE__*/React.createElement(ArrowDown, {
85
- color: selected && (theme === 'question' || theme === 'template') ? color : black,
86
- className: style.arrow
86
+ color: _includes(theme, ['question', 'template', 'player']) ? arrowColor : black,
87
+ className: shouldUseSkinFontColor ? style.selectedArrow : style.arrow
87
88
  }) : null;
88
89
  const behaviourClassName = useMemo(() => getClassState(style.default, style.modified, style.error, modified, error), [error, modified]);
89
90
  const composedClassName = useMemo(() => classnames(theme ? themeStyle[theme] : behaviourClassName, selected ? style.selected : style.unselected, className), [behaviourClassName, className, selected, theme]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/select/index.js"],"names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","Provider","getClassState","style","themeStyle","filter","invalid","header","mooc","question","sort","thematiques","player","template","Select","props","context","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","skin","optionList","map","option","index","value","selectOption","titleView","selected","selectedLabel","isSelectedInValidOption","validOption","handleChange","e","target","selectedOptions","black","color","shouldUseSkinFontColor","arrowView","arrow","behaviourClassName","default","composedClassName","unselected","labelSize","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectBox","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","contextTypes","childContextTypes","propTypes","func","oneOf","arrayOf","shape"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {find, keys, map, get, getOr, filter, includes, size} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template // we keep template in case it is used anywhere else?\n};\n\nconst Select = (props, context) => {\n const {\n name,\n options = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle\n } = props;\n\n const {skin} = context;\n\n const title = useMemo(() => (propTitle ? `${propTitle}${required ? '*' : ''}` : null), [\n propTitle,\n required\n ]);\n\n const optionList =\n options &&\n options.map((option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title} </span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, options)),\n [multiple, options]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, options)),\n [multiple, options]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const shouldUseSkinFontColor = useMemo(\n () =>\n !isSelectedInValidOption && selected && includes(theme, ['question', 'template', 'player']),\n [isSelectedInValidOption, selected, theme]\n );\n\n const arrowView = !multiple ? (\n <ArrowDown\n color={selected && (theme === 'question' || theme === 'template') ? color : black}\n className={style.arrow}\n />\n ) : null;\n const behaviourClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme ? themeStyle[theme] : behaviourClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviourClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div className={composedClassName}>\n <label\n data-name=\"select-wrapper\"\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n >\n {selectedLabel}\n </span>\n {arrowView}\n <select\n data-name=\"native-select\"\n className={style.selectBox}\n title={selectedLabel}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool\n};\n\nexport default Select;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/select/index.js"],"names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","Provider","getClassState","style","themeStyle","filter","invalid","header","mooc","question","sort","thematiques","player","template","Select","props","context","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","skin","optionList","map","option","index","value","selectOption","titleView","selected","selectedLabel","isSelectedInValidOption","validOption","handleChange","e","target","selectedOptions","black","color","shouldUseSkinFontColor","arrowColor","undefined","arrowView","selectedArrow","arrow","behaviourClassName","default","composedClassName","unselected","labelSize","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectBox","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","contextTypes","childContextTypes","propTypes","func","oneOf","arrayOf","shape"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {find, keys, map, get, getOr, filter, includes, size} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template // we keep template in case it is used anywhere else?\n};\n\nconst Select = (props, context) => {\n const {\n name,\n options = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle\n } = props;\n\n const {skin} = context;\n\n const title = useMemo(() => (propTitle ? `${propTitle}${required ? '*' : ''}` : null), [\n propTitle,\n required\n ]);\n\n const optionList =\n options &&\n options.map((option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title} </span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, options)),\n [multiple, options]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, options)),\n [multiple, options]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const shouldUseSkinFontColor = useMemo(\n () =>\n !isSelectedInValidOption && selected && includes(theme, ['question', 'template', 'player']),\n [isSelectedInValidOption, selected, theme]\n );\n const arrowColor = selected ? color : undefined;\n\n const arrowView = !multiple ? (\n <ArrowDown\n color={includes(theme, ['question', 'template', 'player']) ? arrowColor : black}\n className={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n />\n ) : null;\n const behaviourClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme ? themeStyle[theme] : behaviourClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviourClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div className={composedClassName}>\n <label\n data-name=\"select-wrapper\"\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n >\n {selectedLabel}\n </span>\n {arrowView}\n <select\n data-name=\"native-select\"\n className={style.selectBox}\n title={selectedLabel}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool\n};\n\nexport default Select;\n"],"file":"index.js"}
@@ -11,7 +11,9 @@
11
11
  @value xtraLightGrey from colors;
12
12
  @value transparent from colors;
13
13
  @value box_shadow_light_dark from colors;
14
+ @value box_shadow_medium_dark from colors;
14
15
  @value cm_blue_900 from colors;
16
+ @value cm_grey_450 from colors;
15
17
 
16
18
  .default {
17
19
  display: flex;
@@ -85,6 +87,7 @@
85
87
  .player .selectWrapper {
86
88
  min-width: min-content;
87
89
  height: min-content;
90
+ margin-right: 0;
88
91
  }
89
92
 
90
93
  .modified select {
@@ -132,6 +135,22 @@
132
135
  z-index: 11;
133
136
  }
134
137
 
138
+ .selectedArrow {
139
+ composes: arrow;
140
+ }
141
+
142
+ .player .selectWrapper .arrow {
143
+ color: cm_grey_450;
144
+ }
145
+
146
+ .player:hover .arrow {
147
+ color: cm_blue_900;
148
+ }
149
+
150
+ .player:hover .selectedArrow {
151
+ color: inherit;
152
+ }
153
+
135
154
  @media mobile {
136
155
  .arrow::after {
137
156
  right: 10px;
@@ -248,6 +267,12 @@ div.player .noLabelCommon.selectSpan {
248
267
  min-width: min-content;
249
268
  width: 100%;
250
269
  white-space: nowrap;
270
+ color: cm_blue_900;
271
+ border-width: 0;
272
+ }
273
+
274
+ div.player:hover span.selectSpan {
275
+ box-shadow: 0px 4px 16px box_shadow_medium_dark;
251
276
  }
252
277
 
253
278
  .no-label .selectBox {
@@ -467,6 +492,17 @@ div.player .noLabelCommon.selectSpan {
467
492
  composes: no-label;
468
493
  }
469
494
 
495
+ .player .selectBox {
496
+ border: 0;
497
+ }
498
+
499
+ /* mozilla specific styling */
500
+ @supports (-moz-appearance:none) {
501
+ .player label.selectWrapper select.selectBox {
502
+ width: 100%;
503
+ }
504
+ }
505
+
470
506
  /*
471
507
  Header
472
508
  */
@@ -11,6 +11,7 @@ import fixtureModified from './fixtures/modified';
11
11
  import fixtureMooc from './fixtures/mooc';
12
12
  import fixtureMultipleSelected from './fixtures/multiple-selected';
13
13
  import fixtureMultiple from './fixtures/multiple';
14
+ import fixturePlayer from './fixtures/player';
14
15
  import fixtureQuestion from './fixtures/question';
15
16
  import fixtureRequiredWithTitle from './fixtures/required-with-title';
16
17
  import fixtureRequired from './fixtures/required';
@@ -33,6 +34,7 @@ test('Atom › AtomSelect › Modified › should be rendered', renderComponentM
33
34
  test('Atom › AtomSelect › Mooc › should be rendered', renderComponentMacro, AtomSelect, fixtureMooc);
34
35
  test('Atom › AtomSelect › MultipleSelected › should be rendered', renderComponentMacro, AtomSelect, fixtureMultipleSelected);
35
36
  test('Atom › AtomSelect › Multiple › should be rendered', renderComponentMacro, AtomSelect, fixtureMultiple);
37
+ test('Atom › AtomSelect › Player › should be rendered', renderComponentMacro, AtomSelect, fixturePlayer);
36
38
  test('Atom › AtomSelect › Question › should be rendered', renderComponentMacro, AtomSelect, fixtureQuestion);
37
39
  test('Atom › AtomSelect › RequiredWithTitle › should be rendered', renderComponentMacro, AtomSelect, fixtureRequiredWithTitle);
38
40
  test('Atom › AtomSelect › Required › should be rendered', renderComponentMacro, AtomSelect, fixtureRequired);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/atom/select/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","AtomSelect","fixtureDefault","fixtureDisabled","fixtureError","fixtureFilter","fixtureInvalid","fixtureModified","fixtureMooc","fixtureMultipleSelected","fixtureMultiple","fixtureQuestion","fixtureRequiredWithTitle","fixtureRequired","fixtureSort","fixtureTemplate","fixtureThematiquesLong","fixtureThematiques","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,UAAP,MAAuB,IAAvB;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,aAAP,MAA0B,mBAA1B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,uBAAP,MAAoC,8BAApC;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,wBAAP,MAAqC,gCAArC;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AACA,OAAOC,kBAAP,MAA+B,wBAA/B;AAEAnB,IAAI,CAAC,iDAAD,EAAoDoB,CAAC,IAAI;AAC3DA,EAAAA,CAAC,CAACC,IAAF;AACApB,EAAAA,OAAO,CAACE,UAAU,CAACmB,SAAZ,EAAuB,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC5CJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,2CAA0CF,GAAI,mEAAvE;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAxB,IAAI,CAAC,kDAAD,EAAqDE,oBAArD,EAA2EC,UAA3E,EAAuFC,cAAvF,CAAJ;AACAJ,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFE,eAAxF,CAAJ;AACAL,IAAI,CAAC,gDAAD,EAAmDE,oBAAnD,EAAyEC,UAAzE,EAAqFG,YAArF,CAAJ;AACAN,IAAI,CAAC,iDAAD,EAAoDE,oBAApD,EAA0EC,UAA1E,EAAsFI,aAAtF,CAAJ;AACAP,IAAI,CAAC,kDAAD,EAAqDE,oBAArD,EAA2EC,UAA3E,EAAuFK,cAAvF,CAAJ;AACAR,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFM,eAAxF,CAAJ;AACAT,IAAI,CAAC,+CAAD,EAAkDE,oBAAlD,EAAwEC,UAAxE,EAAoFO,WAApF,CAAJ;AACAV,IAAI,CAAC,2DAAD,EAA8DE,oBAA9D,EAAoFC,UAApF,EAAgGQ,uBAAhG,CAAJ;AACAX,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFS,eAAxF,CAAJ;AACAZ,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFU,eAAxF,CAAJ;AACAb,IAAI,CAAC,4DAAD,EAA+DE,oBAA/D,EAAqFC,UAArF,EAAiGW,wBAAjG,CAAJ;AACAd,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFY,eAAxF,CAAJ;AACAf,IAAI,CAAC,+CAAD,EAAkDE,oBAAlD,EAAwEC,UAAxE,EAAoFa,WAApF,CAAJ;AACAhB,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFc,eAAxF,CAAJ;AACAjB,IAAI,CAAC,0DAAD,EAA6DE,oBAA7D,EAAmFC,UAAnF,EAA+Fe,sBAA/F,CAAJ;AACAlB,IAAI,CAAC,sDAAD,EAAyDE,oBAAzD,EAA+EC,UAA/E,EAA2FgB,kBAA3F,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomSelect from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureDisabled from './fixtures/disabled';\nimport fixtureError from './fixtures/error';\nimport fixtureFilter from './fixtures/filter';\nimport fixtureInvalid from './fixtures/invalid';\nimport fixtureModified from './fixtures/modified';\nimport fixtureMooc from './fixtures/mooc';\nimport fixtureMultipleSelected from './fixtures/multiple-selected';\nimport fixtureMultiple from './fixtures/multiple';\nimport fixtureQuestion from './fixtures/question';\nimport fixtureRequiredWithTitle from './fixtures/required-with-title';\nimport fixtureRequired from './fixtures/required';\nimport fixtureSort from './fixtures/sort';\nimport fixtureTemplate from './fixtures/template';\nimport fixtureThematiquesLong from './fixtures/thematiques-long';\nimport fixtureThematiques from './fixtures/thematiques';\n\ntest('Atom › AtomSelect > should have valid propTypes', t => {\n t.pass();\n forEach(AtomSelect.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomSelect.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomSelect › Default › should be rendered', renderComponentMacro, AtomSelect, fixtureDefault);\ntest('Atom › AtomSelect › Disabled › should be rendered', renderComponentMacro, AtomSelect, fixtureDisabled);\ntest('Atom › AtomSelect › Error › should be rendered', renderComponentMacro, AtomSelect, fixtureError);\ntest('Atom › AtomSelect › Filter › should be rendered', renderComponentMacro, AtomSelect, fixtureFilter);\ntest('Atom › AtomSelect › Invalid › should be rendered', renderComponentMacro, AtomSelect, fixtureInvalid);\ntest('Atom › AtomSelect › Modified › should be rendered', renderComponentMacro, AtomSelect, fixtureModified);\ntest('Atom › AtomSelect › Mooc › should be rendered', renderComponentMacro, AtomSelect, fixtureMooc);\ntest('Atom › AtomSelect › MultipleSelected › should be rendered', renderComponentMacro, AtomSelect, fixtureMultipleSelected);\ntest('Atom › AtomSelect › Multiple › should be rendered', renderComponentMacro, AtomSelect, fixtureMultiple);\ntest('Atom › AtomSelect › Question › should be rendered', renderComponentMacro, AtomSelect, fixtureQuestion);\ntest('Atom › AtomSelect › RequiredWithTitle › should be rendered', renderComponentMacro, AtomSelect, fixtureRequiredWithTitle);\ntest('Atom › AtomSelect › Required › should be rendered', renderComponentMacro, AtomSelect, fixtureRequired);\ntest('Atom › AtomSelect › Sort › should be rendered', renderComponentMacro, AtomSelect, fixtureSort);\ntest('Atom › AtomSelect › Template › should be rendered', renderComponentMacro, AtomSelect, fixtureTemplate);\ntest('Atom › AtomSelect › ThematiquesLong › should be rendered', renderComponentMacro, AtomSelect, fixtureThematiquesLong);\ntest('Atom › AtomSelect › Thematiques › should be rendered', renderComponentMacro, AtomSelect, fixtureThematiques);\n"],"file":"fixtures.js"}
1
+ {"version":3,"sources":["../../../../src/atom/select/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","AtomSelect","fixtureDefault","fixtureDisabled","fixtureError","fixtureFilter","fixtureInvalid","fixtureModified","fixtureMooc","fixtureMultipleSelected","fixtureMultiple","fixturePlayer","fixtureQuestion","fixtureRequiredWithTitle","fixtureRequired","fixtureSort","fixtureTemplate","fixtureThematiquesLong","fixtureThematiques","t","pass","propTypes","value","key","not","undefined"],"mappings":"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","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomSelect from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureDisabled from './fixtures/disabled';\nimport fixtureError from './fixtures/error';\nimport fixtureFilter from './fixtures/filter';\nimport fixtureInvalid from './fixtures/invalid';\nimport fixtureModified from './fixtures/modified';\nimport fixtureMooc from './fixtures/mooc';\nimport fixtureMultipleSelected from './fixtures/multiple-selected';\nimport fixtureMultiple from './fixtures/multiple';\nimport fixturePlayer from './fixtures/player';\nimport fixtureQuestion from './fixtures/question';\nimport fixtureRequiredWithTitle from './fixtures/required-with-title';\nimport fixtureRequired from './fixtures/required';\nimport fixtureSort from './fixtures/sort';\nimport fixtureTemplate from './fixtures/template';\nimport fixtureThematiquesLong from './fixtures/thematiques-long';\nimport fixtureThematiques from './fixtures/thematiques';\n\ntest('Atom › AtomSelect > should have valid propTypes', t => {\n t.pass();\n forEach(AtomSelect.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomSelect.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomSelect › Default › should be rendered', renderComponentMacro, AtomSelect, fixtureDefault);\ntest('Atom › AtomSelect › Disabled › should be rendered', renderComponentMacro, AtomSelect, fixtureDisabled);\ntest('Atom › AtomSelect › Error › should be rendered', renderComponentMacro, AtomSelect, fixtureError);\ntest('Atom › AtomSelect › Filter › should be rendered', renderComponentMacro, AtomSelect, fixtureFilter);\ntest('Atom › AtomSelect › Invalid › should be rendered', renderComponentMacro, AtomSelect, fixtureInvalid);\ntest('Atom › AtomSelect › Modified › should be rendered', renderComponentMacro, AtomSelect, fixtureModified);\ntest('Atom › AtomSelect › Mooc › should be rendered', renderComponentMacro, AtomSelect, fixtureMooc);\ntest('Atom › AtomSelect › MultipleSelected › should be rendered', renderComponentMacro, AtomSelect, fixtureMultipleSelected);\ntest('Atom › AtomSelect › Multiple › should be rendered', renderComponentMacro, AtomSelect, fixtureMultiple);\ntest('Atom › AtomSelect › Player › should be rendered', renderComponentMacro, AtomSelect, fixturePlayer);\ntest('Atom › AtomSelect › Question › should be rendered', renderComponentMacro, AtomSelect, fixtureQuestion);\ntest('Atom › AtomSelect › RequiredWithTitle › should be rendered', renderComponentMacro, AtomSelect, fixtureRequiredWithTitle);\ntest('Atom › AtomSelect › Required › should be rendered', renderComponentMacro, AtomSelect, fixtureRequired);\ntest('Atom › AtomSelect › Sort › should be rendered', renderComponentMacro, AtomSelect, fixtureSort);\ntest('Atom › AtomSelect › Template › should be rendered', renderComponentMacro, AtomSelect, fixtureTemplate);\ntest('Atom › AtomSelect › ThematiquesLong › should be rendered', renderComponentMacro, AtomSelect, fixtureThematiquesLong);\ntest('Atom › AtomSelect › Thematiques › should be rendered', renderComponentMacro, AtomSelect, fixtureThematiques);\n"],"file":"fixtures.js"}
@@ -14,12 +14,14 @@ const Customer = props => {
14
14
  type,
15
15
  coorpOriginal,
16
16
  theme,
17
- disabled = false
17
+ disabled = false,
18
+ 'aria-label': ariaLabel
18
19
  } = props;
19
20
  const className = classnames(THEMES[theme], style.customer, type === 'chapter' ? style.chapterCustomer : null);
20
21
  return /*#__PURE__*/React.createElement("div", {
21
22
  className: className,
22
- disabled: disabled
23
+ disabled: disabled,
24
+ "aria-label": ariaLabel
23
25
  }, /*#__PURE__*/React.createElement("div", {
24
26
  className: style.content
25
27
  }, coorpOriginal ? /*#__PURE__*/React.createElement("span", {
@@ -34,7 +36,8 @@ Customer.propTypes = process.env.NODE_ENV !== "production" ? {
34
36
  type: PropTypes.string,
35
37
  name: PropTypes.string,
36
38
  coorpOriginal: PropTypes.bool.isRequired,
37
- disabled: PropTypes.bool
39
+ disabled: PropTypes.bool,
40
+ 'aria-label': PropTypes.string
38
41
  } : {};
39
42
  export default Customer;
40
43
  //# sourceMappingURL=customer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/card/customer.js"],"names":["React","PropTypes","classnames","style","THEMES","default","coorpmanager","Customer","props","name","type","coorpOriginal","theme","disabled","className","customer","chapterCustomer","content","coorp","original","propTypes","oneOf","string","bool","isRequired"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAOC,KAAP,MAAkB,gBAAlB;AAEA,OAAO,MAAMC,MAAM,GAAG;AACpBC,EAAAA,OAAO,EAAE,IADW;AAEpBC,EAAAA,YAAY,EAAEH,KAAK,CAACG;AAFA,CAAf;;AAKP,MAAMC,QAAQ,GAAGC,KAAK,IAAI;AACxB,QAAM;AAACC,IAAAA,IAAD;AAAOC,IAAAA,IAAP;AAAaC,IAAAA,aAAb;AAA4BC,IAAAA,KAA5B;AAAmCC,IAAAA,QAAQ,GAAG;AAA9C,MAAuDL,KAA7D;AACA,QAAMM,SAAS,GAAGZ,UAAU,CAC1BE,MAAM,CAACQ,KAAD,CADoB,EAE1BT,KAAK,CAACY,QAFoB,EAG1BL,IAAI,KAAK,SAAT,GAAqBP,KAAK,CAACa,eAA3B,GAA6C,IAHnB,CAA5B;AAMA,sBACE;AAAK,IAAA,SAAS,EAAEF,SAAhB;AAA2B,IAAA,QAAQ,EAAED;AAArC,kBACE;AAAK,IAAA,SAAS,EAAEV,KAAK,CAACc;AAAtB,KACGN,aAAa,gBAAG;AAAM,IAAA,SAAS,EAAER,KAAK,CAACe;AAAvB,cAAH,GAAiD,IADjE,EAEGP,aAAa,gBAAG;AAAM,IAAA,SAAS,EAAER,KAAK,CAACgB;AAAvB,iBAAH,GAAuD,IAFvE,EAGG,CAACR,aAAD,IAAkBF,IAHrB,CADF,CADF;AASD,CAjBD;;AAmBAF,QAAQ,CAACa,SAAT,2CAAqB;AACnBR,EAAAA,KAAK,EAAEX,SAAS,CAACoB,KAAV,CAAgB,MAAKjB,MAAL,CAAhB,CADY;AAEnBM,EAAAA,IAAI,EAAET,SAAS,CAACqB,MAFG;AAGnBb,EAAAA,IAAI,EAAER,SAAS,CAACqB,MAHG;AAInBX,EAAAA,aAAa,EAAEV,SAAS,CAACsB,IAAV,CAAeC,UAJX;AAKnBX,EAAAA,QAAQ,EAAEZ,SAAS,CAACsB;AALD,CAArB;AAQA,eAAehB,QAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {keys} from 'lodash/fp';\nimport style from './customer.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst Customer = props => {\n const {name, type, coorpOriginal, theme, disabled = false} = props;\n const className = classnames(\n THEMES[theme],\n style.customer,\n type === 'chapter' ? style.chapterCustomer : null\n );\n\n return (\n <div className={className} disabled={disabled}>\n <div className={style.content}>\n {coorpOriginal ? <span className={style.coorp}>Coorp </span> : null}\n {coorpOriginal ? <span className={style.original}>Original </span> : null}\n {!coorpOriginal && name}\n </div>\n </div>\n );\n};\n\nCustomer.propTypes = {\n theme: PropTypes.oneOf(keys(THEMES)),\n type: PropTypes.string,\n name: PropTypes.string,\n coorpOriginal: PropTypes.bool.isRequired,\n disabled: PropTypes.bool\n};\n\nexport default Customer;\n"],"file":"customer.js"}
1
+ {"version":3,"sources":["../../../src/molecule/card/customer.js"],"names":["React","PropTypes","classnames","style","THEMES","default","coorpmanager","Customer","props","name","type","coorpOriginal","theme","disabled","ariaLabel","className","customer","chapterCustomer","content","coorp","original","propTypes","oneOf","string","bool","isRequired"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAOC,KAAP,MAAkB,gBAAlB;AAEA,OAAO,MAAMC,MAAM,GAAG;AACpBC,EAAAA,OAAO,EAAE,IADW;AAEpBC,EAAAA,YAAY,EAAEH,KAAK,CAACG;AAFA,CAAf;;AAKP,MAAMC,QAAQ,GAAGC,KAAK,IAAI;AACxB,QAAM;AAACC,IAAAA,IAAD;AAAOC,IAAAA,IAAP;AAAaC,IAAAA,aAAb;AAA4BC,IAAAA,KAA5B;AAAmCC,IAAAA,QAAQ,GAAG,KAA9C;AAAqD,kBAAcC;AAAnE,MAAgFN,KAAtF;AACA,QAAMO,SAAS,GAAGb,UAAU,CAC1BE,MAAM,CAACQ,KAAD,CADoB,EAE1BT,KAAK,CAACa,QAFoB,EAG1BN,IAAI,KAAK,SAAT,GAAqBP,KAAK,CAACc,eAA3B,GAA6C,IAHnB,CAA5B;AAMA,sBACE;AAAK,IAAA,SAAS,EAAEF,SAAhB;AAA2B,IAAA,QAAQ,EAAEF,QAArC;AAA+C,kBAAYC;AAA3D,kBACE;AAAK,IAAA,SAAS,EAAEX,KAAK,CAACe;AAAtB,KACGP,aAAa,gBAAG;AAAM,IAAA,SAAS,EAAER,KAAK,CAACgB;AAAvB,cAAH,GAAiD,IADjE,EAEGR,aAAa,gBAAG;AAAM,IAAA,SAAS,EAAER,KAAK,CAACiB;AAAvB,iBAAH,GAAuD,IAFvE,EAGG,CAACT,aAAD,IAAkBF,IAHrB,CADF,CADF;AASD,CAjBD;;AAmBAF,QAAQ,CAACc,SAAT,2CAAqB;AACnBT,EAAAA,KAAK,EAAEX,SAAS,CAACqB,KAAV,CAAgB,MAAKlB,MAAL,CAAhB,CADY;AAEnBM,EAAAA,IAAI,EAAET,SAAS,CAACsB,MAFG;AAGnBd,EAAAA,IAAI,EAAER,SAAS,CAACsB,MAHG;AAInBZ,EAAAA,aAAa,EAAEV,SAAS,CAACuB,IAAV,CAAeC,UAJX;AAKnBZ,EAAAA,QAAQ,EAAEZ,SAAS,CAACuB,IALD;AAMnB,gBAAcvB,SAAS,CAACsB;AANL,CAArB;AASA,eAAehB,QAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {keys} from 'lodash/fp';\nimport style from './customer.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst Customer = props => {\n const {name, type, coorpOriginal, theme, disabled = false, 'aria-label': ariaLabel} = props;\n const className = classnames(\n THEMES[theme],\n style.customer,\n type === 'chapter' ? style.chapterCustomer : null\n );\n\n return (\n <div className={className} disabled={disabled} aria-label={ariaLabel}>\n <div className={style.content}>\n {coorpOriginal ? <span className={style.coorp}>Coorp </span> : null}\n {coorpOriginal ? <span className={style.original}>Original </span> : null}\n {!coorpOriginal && name}\n </div>\n </div>\n );\n};\n\nCustomer.propTypes = {\n theme: PropTypes.oneOf(keys(THEMES)),\n type: PropTypes.string,\n name: PropTypes.string,\n coorpOriginal: PropTypes.bool.isRequired,\n disabled: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nexport default Customer;\n"],"file":"customer.js"}
@@ -35,7 +35,8 @@ class Favorite extends React.Component {
35
35
  favorite,
36
36
  addFavoriteToolTip,
37
37
  removeFavoriteToolTip,
38
- className
38
+ className,
39
+ 'aria-label': ariaLabel = {}
39
40
  } = this.props;
40
41
 
41
42
  const primaryColor = _get('common.primary', skin);
@@ -51,6 +52,7 @@ class Favorite extends React.Component {
51
52
  className: style.blocFavorite
52
53
  }, toolTipView, /*#__PURE__*/React.createElement("div", {
53
54
  "data-name": "favorite",
55
+ "aria-label": ariaLabel.favorite,
54
56
  className: classnames(style.favorite, className, favorite && style.selected),
55
57
  onClick: this.handleFavoviteClick,
56
58
  style: {
@@ -60,12 +62,14 @@ class Favorite extends React.Component {
60
62
  className: style.checkIcon,
61
63
  color: brandColor,
62
64
  width: 13,
63
- height: 13
65
+ height: 13,
66
+ "aria-label": ariaLabel.removeFromFavorite
64
67
  }) : /*#__PURE__*/React.createElement(MoreIcon, {
65
68
  className: style.moreIcon,
66
69
  color: darkColor,
67
70
  width: 13,
68
- height: 13
71
+ height: 13,
72
+ "aria-label": ariaLabel.addToFavorite
69
73
  })));
70
74
  }
71
75
 
@@ -81,7 +85,12 @@ Favorite.propTypes = process.env.NODE_ENV !== "production" ? {
81
85
  disabled: PropTypes.bool,
82
86
  addFavoriteToolTip: PropTypes.string,
83
87
  removeFavoriteToolTip: PropTypes.string,
84
- onFavoriteClick: PropTypes.func
88
+ onFavoriteClick: PropTypes.func,
89
+ 'aria-label': PropTypes.shape({
90
+ favorite: PropTypes.string,
91
+ addToFavorite: PropTypes.string,
92
+ removeFromFavorite: PropTypes.string
93
+ })
85
94
  } : {};
86
95
  export default Favorite;
87
96
  //# sourceMappingURL=favorite.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/card/favorite.js"],"names":["React","PropTypes","classnames","NovaCompositionNavigationMore","MoreIcon","NovaCompositionCoorpacademyCheck","CheckIcon","Provider","style","Favorite","Component","constructor","props","context","handleFavoviteClick","bind","e","disabled","onFavoriteClick","stopPropagation","preventDefault","render","skin","favorite","addFavoriteToolTip","removeFavoriteToolTip","className","primaryColor","darkColor","brandColor","toolTipView","showToolTip","blocFavorite","selected","color","checkIcon","moreIcon","childContextTypes","propTypes","string","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport style from './favorite.css';\n\nclass Favorite extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n favorite: PropTypes.bool,\n disabled: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onFavoriteClick: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n this.handleFavoviteClick = this.handleFavoviteClick.bind(this);\n }\n\n handleFavoviteClick(e) {\n const {disabled, onFavoriteClick = noop} = this.props;\n e.stopPropagation();\n e.preventDefault();\n if (!disabled) onFavoriteClick(e);\n }\n\n render() {\n const {skin} = this.context;\n const {favorite, addFavoriteToolTip, removeFavoriteToolTip, className} = this.props;\n\n const primaryColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const brandColor = get('common.brand', skin);\n const toolTipView =\n !isEmpty(removeFavoriteToolTip) && !isEmpty(addFavoriteToolTip) ? (\n <div className={style.showToolTip}>\n <span>{favorite ? removeFavoriteToolTip : addFavoriteToolTip}</span>\n </div>\n ) : null;\n\n return (\n <div className={style.blocFavorite}>\n {toolTipView}\n <div\n data-name=\"favorite\"\n className={classnames(style.favorite, className, favorite && style.selected)}\n onClick={this.handleFavoviteClick}\n style={{\n color: primaryColor\n }}\n >\n {favorite ? (\n <CheckIcon className={style.checkIcon} color={brandColor} width={13} height={13} />\n ) : (\n <MoreIcon className={style.moreIcon} color={darkColor} width={13} height={13} />\n )}\n </div>\n </div>\n );\n }\n}\n\nexport default Favorite;\n"],"file":"favorite.js"}
1
+ {"version":3,"sources":["../../../src/molecule/card/favorite.js"],"names":["React","PropTypes","classnames","NovaCompositionNavigationMore","MoreIcon","NovaCompositionCoorpacademyCheck","CheckIcon","Provider","style","Favorite","Component","constructor","props","context","handleFavoviteClick","bind","e","disabled","onFavoriteClick","stopPropagation","preventDefault","render","skin","favorite","addFavoriteToolTip","removeFavoriteToolTip","className","ariaLabel","primaryColor","darkColor","brandColor","toolTipView","showToolTip","blocFavorite","selected","color","checkIcon","removeFromFavorite","moreIcon","addToFavorite","childContextTypes","propTypes","string","bool","func","shape"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport style from './favorite.css';\n\nclass Favorite extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n favorite: PropTypes.bool,\n disabled: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onFavoriteClick: PropTypes.func,\n 'aria-label': PropTypes.shape({\n favorite: PropTypes.string,\n addToFavorite: PropTypes.string,\n removeFromFavorite: PropTypes.string\n })\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n this.handleFavoviteClick = this.handleFavoviteClick.bind(this);\n }\n\n handleFavoviteClick(e) {\n const {disabled, onFavoriteClick = noop} = this.props;\n e.stopPropagation();\n e.preventDefault();\n if (!disabled) onFavoriteClick(e);\n }\n\n render() {\n const {skin} = this.context;\n const {\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n className,\n 'aria-label': ariaLabel = {}\n } = this.props;\n\n const primaryColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const brandColor = get('common.brand', skin);\n const toolTipView =\n !isEmpty(removeFavoriteToolTip) && !isEmpty(addFavoriteToolTip) ? (\n <div className={style.showToolTip}>\n <span>{favorite ? removeFavoriteToolTip : addFavoriteToolTip}</span>\n </div>\n ) : null;\n\n return (\n <div className={style.blocFavorite}>\n {toolTipView}\n <div\n data-name=\"favorite\"\n aria-label={ariaLabel.favorite}\n className={classnames(style.favorite, className, favorite && style.selected)}\n onClick={this.handleFavoviteClick}\n style={{\n color: primaryColor\n }}\n >\n {favorite ? (\n <CheckIcon\n className={style.checkIcon}\n color={brandColor}\n width={13}\n height={13}\n aria-label={ariaLabel.removeFromFavorite}\n />\n ) : (\n <MoreIcon\n className={style.moreIcon}\n color={darkColor}\n width={13}\n height={13}\n aria-label={ariaLabel.addToFavorite}\n />\n )}\n </div>\n </div>\n );\n }\n}\n\nexport default Favorite;\n"],"file":"favorite.js"}
@@ -26,7 +26,8 @@ export const THEMES = {
26
26
  const CardBackground = ({
27
27
  type,
28
28
  image,
29
- empty
29
+ empty,
30
+ 'aria-label': ariaLabel
30
31
  }, {
31
32
  skin
32
33
  }) => {
@@ -59,6 +60,7 @@ const CardBackground = ({
59
60
  className: style.imageWrapper
60
61
  }, /*#__PURE__*/React.createElement("div", {
61
62
  "data-name": "cover",
63
+ "aria-label": ariaLabel,
62
64
  style: {
63
65
  backgroundColor: iconColor,
64
66
  backgroundImage: `url('${image}')`
@@ -71,6 +73,7 @@ const CardBackground = ({
71
73
  className: style.imageWrapper
72
74
  }, /*#__PURE__*/React.createElement("div", {
73
75
  "data-name": "cover",
76
+ "aria-label": ariaLabel,
74
77
  style: {
75
78
  backgroundColor: iconColor
76
79
  },
@@ -86,6 +89,7 @@ const CardBackground = ({
86
89
  className: classnames(style.imageWrapper, type === 'chapter' ? style.chapterImageWrapper : null)
87
90
  }, /*#__PURE__*/React.createElement("div", {
88
91
  "data-name": "cover",
92
+ "aria-label": ariaLabel,
89
93
  className: style.image,
90
94
  style: {
91
95
  backgroundColor: primaryColor,
@@ -100,7 +104,8 @@ CardBackground.contextTypes = {
100
104
  CardBackground.propTypes = process.env.NODE_ENV !== "production" ? {
101
105
  type: PropTypes.string,
102
106
  image: PropTypes.string,
103
- empty: PropTypes.bool
107
+ empty: PropTypes.bool,
108
+ 'aria-label': PropTypes.string
104
109
  } : {};
105
110
  const Card = memo(function Card(props, context) {
106
111
  const {
@@ -126,7 +131,15 @@ const Card = memo(function Card(props, context) {
126
131
  notification,
127
132
  badgeCategory,
128
133
  badgeLabel,
129
- theme = 'default'
134
+ theme = 'default',
135
+ 'aria-label': cardArialabel,
136
+ 'background-aria-label': backgroundAriaLabel,
137
+ 'favorite-aria-label': favoriteAriaLabel,
138
+ 'selectable-aria-label': selectableAriaLabel,
139
+ 'customer-aria-label': customerAriaLabel,
140
+ 'badge-aria-label': badgeAriaLabel,
141
+ 'disabled-aria-label': disabledArialabel,
142
+ 'card-content-aria-label': cardContentLabelAriaLabel
130
143
  } = props;
131
144
 
132
145
  const empty = _isEmpty(_pick(['title', 'type', 'author', 'image'], props));
@@ -165,24 +178,29 @@ const Card = memo(function Card(props, context) {
165
178
  "data-lock": disabled,
166
179
  "data-type": getType(type),
167
180
  disabled: disabled,
168
- onClick: handleClick
181
+ onClick: handleClick,
182
+ "aria-label": cardArialabel
169
183
  }, /*#__PURE__*/React.createElement(CardBackground, {
170
184
  type: type,
171
185
  image: image,
172
- empty: empty
186
+ empty: empty,
187
+ "aria-label": backgroundAriaLabel
173
188
  }), _isUndefined(isSelected) && !_isUndefined(favorite) ? /*#__PURE__*/React.createElement(Favorite, {
174
189
  className: style.favorite,
175
190
  favorite: favorite,
176
191
  disabled: disabled,
177
192
  onFavoriteClick: onFavoriteClick,
178
193
  addFavoriteToolTip: addFavoriteToolTip,
179
- removeFavoriteToolTip: removeFavoriteToolTip
194
+ removeFavoriteToolTip: removeFavoriteToolTip,
195
+ "aria-label": favoriteAriaLabel
180
196
  }) : null, /*#__PURE__*/React.createElement(Selectable, {
181
- isSelected: isSelected
197
+ isSelected: isSelected,
198
+ "aria-label": selectableAriaLabel
182
199
  }), notification ? /*#__PURE__*/React.createElement(Notification, notification) : null, customer ? /*#__PURE__*/React.createElement(Customer, _extends({}, customer, {
183
200
  theme: theme,
184
201
  type: type,
185
- disabled: disabled
202
+ disabled: disabled,
203
+ "aria-label": customerAriaLabel
186
204
  })) : null, /*#__PURE__*/React.createElement(CardContentInfo, {
187
205
  mode: MODES.CARD,
188
206
  adaptiv: adaptiv,
@@ -195,12 +213,15 @@ const Card = memo(function Card(props, context) {
195
213
  type: type,
196
214
  badgeCategory: badgeCategory,
197
215
  badgeLabel: badgeLabel,
198
- theme: theme
216
+ theme: theme,
217
+ "aria-label": cardContentLabelAriaLabel
199
218
  }), badge ? /*#__PURE__*/React.createElement("div", {
200
219
  className: style.badge,
201
- style: inlineBadgeStyle
220
+ style: inlineBadgeStyle,
221
+ "aria-label": badgeAriaLabel
202
222
  }, badge) : null, disabled ? /*#__PURE__*/React.createElement("div", {
203
- className: style.lockWrapper
223
+ className: style.lockWrapper,
224
+ "aria-label": disabledArialabel
204
225
  }, lock) : null);
205
226
  });
206
227
  Card.contextTypes = {
@@ -226,7 +247,15 @@ Card.propTypes = process.env.NODE_ENV !== "production" ? {
226
247
  notification: PropTypes.shape(Notification.propTypes),
227
248
  badgeCategory: CardContentInfo.propTypes.badgeCategory,
228
249
  badgeLabel: CardContentInfo.propTypes.badgeLabel,
229
- theme: PropTypes.oneOf(_keys(THEMES))
250
+ theme: PropTypes.oneOf(_keys(THEMES)),
251
+ 'aria-label': PropTypes.string,
252
+ 'background-aria-label': PropTypes.string,
253
+ 'favorite-aria-label': Favorite.propTypes['aria-label'],
254
+ 'selectable-aria-label': Selectable.propTypes['aria-label'],
255
+ 'customer-aria-label': Customer.propTypes['aria-label'],
256
+ 'badge-aria-label': PropTypes.string,
257
+ 'disabled-aria-label': PropTypes.string,
258
+ 'card-content-aria-label': CardContentInfo.propTypes['aria-label']
230
259
  } : {};
231
260
  export default Card;
232
261
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/card/index.js"],"names":["React","useMemo","memo","PropTypes","classnames","NovaSolidLoginLocked","LockIcon","NovaCompositionCoorpacademyPictures","PicturesIcon","isExternalContent","EXTERNAL_CONTENT_ICONS","Provider","CardContentInfo","MODES","Customer","Favorite","Selectable","Notification","style","THEMES","default","coorpmanager","CardBackground","type","image","empty","skin","externalContent","primaryColor","whiteColor","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","childContextTypes","propTypes","string","bool","Card","props","context","badge","adaptiv","disabled","title","author","customer","certifiedAuthor","progress","favorite","addFavoriteToolTip","removeFavoriteToolTip","onClick","onFavoriteClick","isSelected","notification","badgeCategory","badgeLabel","theme","cardStyle","chapter","course","lazy","grid","handleClick","e","lock","lockIcon","inlineBadgeStyle","getType","contentType","CARD","lockWrapper","shape","number","func","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaSolidLoginLocked as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst CardBackground = ({type, image, empty}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[type].color;\n const backgroundIcon = (\n <div className={style.externalIconCircleWrapper}>\n <IconType className={style.externalIcon} />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n >\n <IconType className={style.externalIconWithImage} />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? <PicturesIcon className={style.emptyIcon} color={whiteColor} /> : null;\n return (\n <div\n className={classnames(\n style.imageWrapper,\n type === 'chapter' ? style.chapterImageWrapper : null\n )}\n >\n <div\n data-name=\"cover\"\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled = false,\n type = 'course',\n title,\n author,\n customer,\n certifiedAuthor,\n progress,\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n onClick,\n onFavoriteClick,\n isSelected,\n notification,\n badgeCategory,\n badgeLabel,\n theme = 'default'\n } = props;\n const empty = isEmpty(pick(['title', 'type', 'author', 'image'], props));\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n const cardStyle = classnames(\n THEMES[theme],\n type === 'chapter' ? style.chapter : style.course,\n title ? null : style.lazy,\n style.grid,\n empty ? style.empty : null\n );\n const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);\n const lock = disabled ? (\n <LockIcon className={style.lockIcon} color={whiteColor} height={40} />\n ) : null;\n const inlineBadgeStyle = {color: primaryColor};\n const getType = contentType => {\n switch (contentType) {\n case 'chapter':\n return 'microlearning';\n case 'course':\n return 'learner';\n default:\n return contentType;\n }\n };\n\n return (\n <div\n className={cardStyle}\n data-name=\"card\"\n data-lock={disabled}\n data-type={getType(type)}\n disabled={disabled}\n onClick={handleClick}\n >\n <CardBackground type={type} image={image} empty={empty} />\n {isUndefined(isSelected) && !isUndefined(favorite) ? (\n <Favorite\n className={style.favorite}\n favorite={favorite}\n disabled={disabled}\n onFavoriteClick={onFavoriteClick}\n addFavoriteToolTip={addFavoriteToolTip}\n removeFavoriteToolTip={removeFavoriteToolTip}\n />\n ) : null}\n <Selectable isSelected={isSelected} />\n {notification ? <Notification {...notification} /> : null}\n {customer ? <Customer {...customer} theme={theme} type={type} disabled={disabled} /> : null}\n <CardContentInfo\n mode={MODES.CARD}\n adaptiv={adaptiv}\n author={author}\n certifiedAuthor={certifiedAuthor}\n disabled={disabled}\n empty={empty}\n progress={progress}\n title={title}\n type={type}\n badgeCategory={badgeCategory}\n badgeLabel={badgeLabel}\n theme={theme}\n />\n {badge ? (\n <div className={style.badge} style={inlineBadgeStyle}>\n {badge}\n </div>\n ) : null}\n {disabled ? <div className={style.lockWrapper}>{lock}</div> : null}\n </div>\n );\n});\n\nCard.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCard.propTypes = {\n badge: PropTypes.string,\n image: PropTypes.string,\n disabled: PropTypes.bool,\n adaptiv: PropTypes.bool,\n type: PropTypes.string,\n title: PropTypes.string,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n customer: PropTypes.shape(Customer.propTypes),\n progress: PropTypes.number,\n favorite: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onClick: PropTypes.func,\n onFavoriteClick: PropTypes.func,\n isSelected: PropTypes.bool,\n notification: PropTypes.shape(Notification.propTypes),\n badgeCategory: CardContentInfo.propTypes.badgeCategory,\n badgeLabel: CardContentInfo.propTypes.badgeLabel,\n theme: PropTypes.oneOf(keys(THEMES))\n};\nexport default Card;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/card/index.js"],"names":["React","useMemo","memo","PropTypes","classnames","NovaSolidLoginLocked","LockIcon","NovaCompositionCoorpacademyPictures","PicturesIcon","isExternalContent","EXTERNAL_CONTENT_ICONS","Provider","CardContentInfo","MODES","Customer","Favorite","Selectable","Notification","style","THEMES","default","coorpmanager","CardBackground","type","image","empty","ariaLabel","skin","externalContent","primaryColor","whiteColor","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","childContextTypes","propTypes","string","bool","Card","props","context","badge","adaptiv","disabled","title","author","customer","certifiedAuthor","progress","favorite","addFavoriteToolTip","removeFavoriteToolTip","onClick","onFavoriteClick","isSelected","notification","badgeCategory","badgeLabel","theme","cardArialabel","backgroundAriaLabel","favoriteAriaLabel","selectableAriaLabel","customerAriaLabel","badgeAriaLabel","disabledArialabel","cardContentLabelAriaLabel","cardStyle","chapter","course","lazy","grid","handleClick","e","lock","lockIcon","inlineBadgeStyle","getType","contentType","CARD","lockWrapper","shape","number","func","oneOf"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,IAAeC,OAAf,EAAwBC,IAAxB,QAAmC,OAAnC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,oBAAoB,IAAIC,QAD1B,EAEEC,mCAAmC,IAAIC,YAFzC,QAGO,0BAHP;AAIA,SAAQC,iBAAR,EAA2BC,sBAA3B,QAAwD,6BAAxD;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,eAAP,IAAyBC,KAAzB,QAAqC,iBAArC;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAO,MAAMC,MAAM,GAAG;AACpBC,EAAAA,OAAO,EAAE,IADW;AAEpBC,EAAAA,YAAY,EAAEH,KAAK,CAACG;AAFA,CAAf;;AAKP,MAAMC,cAAc,GAAG,CAAC;AAACC,EAAAA,IAAD;AAAOC,EAAAA,KAAP;AAAcC,EAAAA,KAAd;AAAqB,gBAAcC;AAAnC,CAAD,EAAgD;AAACC,EAAAA;AAAD,CAAhD,KAA2D;AAChF,QAAMC,eAAe,GAAGnB,iBAAiB,CAACc,IAAD,CAAzC;;AACA,QAAMM,YAAY,GAAG,KAAI,gBAAJ,EAAsBF,IAAtB,CAArB;;AACA,QAAMG,UAAU,GAAG,KAAI,cAAJ,EAAoBH,IAApB,CAAnB;;AAEA,MAAIC,eAAe,IAAIlB,sBAAsB,CAACa,IAAD,CAA7C,EAAqD;AACnD,UAAMQ,QAAQ,GAAGrB,sBAAsB,CAACa,IAAD,CAAtB,CAA6BS,IAA9C;AACA,UAAMC,SAAS,GAAGvB,sBAAsB,CAACa,IAAD,CAAtB,CAA6BW,KAA/C;AACA,UAAMC,cAAc,gBAClB;AAAK,MAAA,SAAS,EAAEjB,KAAK,CAACkB;AAAtB,oBACE,oBAAC,QAAD;AAAU,MAAA,SAAS,EAAElB,KAAK,CAACmB;AAA3B,MADF,CADF;;AAMA,QAAIb,KAAJ,EAAW;AACT,YAAMc,eAAe,gBACnB;AACE,QAAA,SAAS,EAAElC,UAAU,CACnBc,KAAK,CAACkB,yBADa,EAEnBlB,KAAK,CAACqB,kCAFa,CADvB;AAKE,QAAA,KAAK,EAAE;AACLC,UAAAA,eAAe,EAAEP;AADZ;AALT,sBASE,oBAAC,QAAD;AAAU,QAAA,SAAS,EAAEf,KAAK,CAACuB;AAA3B,QATF,CADF;;AAcA,0BACE;AAAK,QAAA,SAAS,EAAEvB,KAAK,CAACwB;AAAtB,sBACE;AACE,qBAAU,OADZ;AAEE,sBAAYhB,SAFd;AAGE,QAAA,KAAK,EAAE;AACLc,UAAAA,eAAe,EAAEP,SADZ;AAELU,UAAAA,eAAe,EAAG,QAAOnB,KAAM;AAF1B,SAHT;AAOE,QAAA,SAAS,EAAEpB,UAAU,CAACc,KAAK,CAAC0B,qBAAP,EAA8B1B,KAAK,CAAC2B,kBAApC;AAPvB,SASGP,eATH,CADF,CADF;AAeD;;AACD,wBACE;AAAK,MAAA,SAAS,EAAEpB,KAAK,CAACwB;AAAtB,oBACE;AACE,mBAAU,OADZ;AAEE,oBAAYhB,SAFd;AAGE,MAAA,KAAK,EAAE;AACLc,QAAAA,eAAe,EAAEP;AADZ,OAHT;AAME,MAAA,SAAS,EAAEf,KAAK,CAAC0B;AANnB,OAQGT,cARH,CADF,CADF;AAcD;;AAED,QAAMW,SAAS,GAAGrB,KAAK,gBAAG,oBAAC,YAAD;AAAc,IAAA,SAAS,EAAEP,KAAK,CAAC4B,SAA/B;AAA0C,IAAA,KAAK,EAAEhB;AAAjD,IAAH,GAAqE,IAA5F;AACA,sBACE;AACE,IAAA,SAAS,EAAE1B,UAAU,CACnBc,KAAK,CAACwB,YADa,EAEnBnB,IAAI,KAAK,SAAT,GAAqBL,KAAK,CAAC6B,mBAA3B,GAAiD,IAF9B;AADvB,kBAME;AACE,iBAAU,OADZ;AAEE,kBAAYrB,SAFd;AAGE,IAAA,SAAS,EAAER,KAAK,CAACM,KAHnB;AAIE,IAAA,KAAK,EAAE;AACLgB,MAAAA,eAAe,EAAEX,YADZ;AAELc,MAAAA,eAAe,EAAEnB,KAAK,GAAI,QAAOA,KAAM,IAAjB,GAAuB;AAFxC;AAJT,KASGsB,SATH,CANF,CADF;AAoBD,CAlFD;;AAoFAxB,cAAc,CAAC0B,YAAf,GAA8B;AAC5BrB,EAAAA,IAAI,EAAEhB,QAAQ,CAACsC,iBAAT,CAA2BtB;AADL,CAA9B;AAIAL,cAAc,CAAC4B,SAAf,2CAA2B;AACzB3B,EAAAA,IAAI,EAAEpB,SAAS,CAACgD,MADS;AAEzB3B,EAAAA,KAAK,EAAErB,SAAS,CAACgD,MAFQ;AAGzB1B,EAAAA,KAAK,EAAEtB,SAAS,CAACiD,IAHQ;AAIzB,gBAAcjD,SAAS,CAACgD;AAJC,CAA3B;AAOA,MAAME,IAAI,GAAGnD,IAAI,CAAC,SAASmD,IAAT,CAAcC,KAAd,EAAqBC,OAArB,EAA8B;AAC9C,QAAM;AAAC5B,IAAAA;AAAD,MAAS4B,OAAf;AACA,QAAM;AACJ/B,IAAAA,KADI;AAEJgC,IAAAA,KAFI;AAGJC,IAAAA,OAHI;AAIJC,IAAAA,QAAQ,GAAG,KAJP;AAKJnC,IAAAA,IAAI,GAAG,QALH;AAMJoC,IAAAA,KANI;AAOJC,IAAAA,MAPI;AAQJC,IAAAA,QARI;AASJC,IAAAA,eATI;AAUJC,IAAAA,QAVI;AAWJC,IAAAA,QAXI;AAYJC,IAAAA,kBAZI;AAaJC,IAAAA,qBAbI;AAcJC,IAAAA,OAdI;AAeJC,IAAAA,eAfI;AAgBJC,IAAAA,UAhBI;AAiBJC,IAAAA,YAjBI;AAkBJC,IAAAA,aAlBI;AAmBJC,IAAAA,UAnBI;AAoBJC,IAAAA,KAAK,GAAG,SApBJ;AAqBJ,kBAAcC,aArBV;AAsBJ,6BAAyBC,mBAtBrB;AAuBJ,2BAAuBC,iBAvBnB;AAwBJ,6BAAyBC,mBAxBrB;AAyBJ,2BAAuBC,iBAzBnB;AA0BJ,wBAAoBC,cA1BhB;AA2BJ,2BAAuBC,iBA3BnB;AA4BJ,+BAA2BC;AA5BvB,MA6BF3B,KA7BJ;;AA8BA,QAAM7B,KAAK,GAAG,SAAQ,MAAK,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,OAA5B,CAAL,EAA2C6B,KAA3C,CAAR,CAAd;;AACA,QAAMzB,YAAY,GAAG,KAAI,gBAAJ,EAAsBF,IAAtB,CAArB;;AACA,QAAMG,UAAU,GAAG,KAAI,cAAJ,EAAoBH,IAApB,CAAnB;;AACA,QAAMuD,SAAS,GAAG9E,UAAU,CAC1Be,MAAM,CAACsD,KAAD,CADoB,EAE1BlD,IAAI,KAAK,SAAT,GAAqBL,KAAK,CAACiE,OAA3B,GAAqCjE,KAAK,CAACkE,MAFjB,EAG1BzB,KAAK,GAAG,IAAH,GAAUzC,KAAK,CAACmE,IAHK,EAI1BnE,KAAK,CAACoE,IAJoB,EAK1B7D,KAAK,GAAGP,KAAK,CAACO,KAAT,GAAiB,IALI,CAA5B;AAOA,QAAM8D,WAAW,GAAGtF,OAAO,CAAC,MAAMuF,CAAC,IAAI,CAAC9B,QAAD,IAAaS,OAAO,CAACqB,CAAD,CAAhC,EAAqC,CAAC9B,QAAD,EAAWS,OAAX,CAArC,CAA3B;AACA,QAAMsB,IAAI,GAAG/B,QAAQ,gBACnB,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAExC,KAAK,CAACwE,QAA3B;AAAqC,IAAA,KAAK,EAAE5D,UAA5C;AAAwD,IAAA,MAAM,EAAE;AAAhE,IADmB,GAEjB,IAFJ;AAGA,QAAM6D,gBAAgB,GAAG;AAACzD,IAAAA,KAAK,EAAEL;AAAR,GAAzB;;AACA,QAAM+D,OAAO,GAAGC,WAAW,IAAI;AAC7B,YAAQA,WAAR;AACE,WAAK,SAAL;AACE,eAAO,eAAP;;AACF,WAAK,QAAL;AACE,eAAO,SAAP;;AACF;AACE,eAAOA,WAAP;AANJ;AAQD,GATD;;AAWA,sBACE;AACE,IAAA,SAAS,EAAEX,SADb;AAEE,iBAAU,MAFZ;AAGE,iBAAWxB,QAHb;AAIE,iBAAWkC,OAAO,CAACrE,IAAD,CAJpB;AAKE,IAAA,QAAQ,EAAEmC,QALZ;AAME,IAAA,OAAO,EAAE6B,WANX;AAOE,kBAAYb;AAPd,kBASE,oBAAC,cAAD;AAAgB,IAAA,IAAI,EAAEnD,IAAtB;AAA4B,IAAA,KAAK,EAAEC,KAAnC;AAA0C,IAAA,KAAK,EAAEC,KAAjD;AAAwD,kBAAYkD;AAApE,IATF,EAUG,aAAYN,UAAZ,KAA2B,CAAC,aAAYL,QAAZ,CAA5B,gBACC,oBAAC,QAAD;AACE,IAAA,SAAS,EAAE9C,KAAK,CAAC8C,QADnB;AAEE,IAAA,QAAQ,EAAEA,QAFZ;AAGE,IAAA,QAAQ,EAAEN,QAHZ;AAIE,IAAA,eAAe,EAAEU,eAJnB;AAKE,IAAA,kBAAkB,EAAEH,kBALtB;AAME,IAAA,qBAAqB,EAAEC,qBANzB;AAOE,kBAAYU;AAPd,IADD,GAUG,IApBN,eAqBE,oBAAC,UAAD;AAAY,IAAA,UAAU,EAAEP,UAAxB;AAAoC,kBAAYQ;AAAhD,IArBF,EAsBGP,YAAY,gBAAG,oBAAC,YAAD,EAAkBA,YAAlB,CAAH,GAAwC,IAtBvD,EAuBGT,QAAQ,gBACP,oBAAC,QAAD,eACMA,QADN;AAEE,IAAA,KAAK,EAAEY,KAFT;AAGE,IAAA,IAAI,EAAElD,IAHR;AAIE,IAAA,QAAQ,EAAEmC,QAJZ;AAKE,kBAAYoB;AALd,KADO,GAQL,IA/BN,eAgCE,oBAAC,eAAD;AACE,IAAA,IAAI,EAAEjE,KAAK,CAACiF,IADd;AAEE,IAAA,OAAO,EAAErC,OAFX;AAGE,IAAA,MAAM,EAAEG,MAHV;AAIE,IAAA,eAAe,EAAEE,eAJnB;AAKE,IAAA,QAAQ,EAAEJ,QALZ;AAME,IAAA,KAAK,EAAEjC,KANT;AAOE,IAAA,QAAQ,EAAEsC,QAPZ;AAQE,IAAA,KAAK,EAAEJ,KART;AASE,IAAA,IAAI,EAAEpC,IATR;AAUE,IAAA,aAAa,EAAEgD,aAVjB;AAWE,IAAA,UAAU,EAAEC,UAXd;AAYE,IAAA,KAAK,EAAEC,KAZT;AAaE,kBAAYQ;AAbd,IAhCF,EA+CGzB,KAAK,gBACJ;AAAK,IAAA,SAAS,EAAEtC,KAAK,CAACsC,KAAtB;AAA6B,IAAA,KAAK,EAAEmC,gBAApC;AAAsD,kBAAYZ;AAAlE,KACGvB,KADH,CADI,GAIF,IAnDN,EAoDGE,QAAQ,gBACP;AAAK,IAAA,SAAS,EAAExC,KAAK,CAAC6E,WAAtB;AAAmC,kBAAYf;AAA/C,KACGS,IADH,CADO,GAIL,IAxDN,CADF;AA4DD,CAtHgB,CAAjB;AAwHApC,IAAI,CAACL,YAAL,GAAoB;AAClBrB,EAAAA,IAAI,EAAEhB,QAAQ,CAACsC,iBAAT,CAA2BtB;AADf,CAApB;AAIA0B,IAAI,CAACH,SAAL,2CAAiB;AACfM,EAAAA,KAAK,EAAErD,SAAS,CAACgD,MADF;AAEf3B,EAAAA,KAAK,EAAErB,SAAS,CAACgD,MAFF;AAGfO,EAAAA,QAAQ,EAAEvD,SAAS,CAACiD,IAHL;AAIfK,EAAAA,OAAO,EAAEtD,SAAS,CAACiD,IAJJ;AAKf7B,EAAAA,IAAI,EAAEpB,SAAS,CAACgD,MALD;AAMfQ,EAAAA,KAAK,EAAExD,SAAS,CAACgD,MANF;AAOfS,EAAAA,MAAM,EAAEzD,SAAS,CAACgD,MAPH;AAQfW,EAAAA,eAAe,EAAE3D,SAAS,CAACiD,IARZ;AASfS,EAAAA,QAAQ,EAAE1D,SAAS,CAAC6F,KAAV,CAAgBlF,QAAQ,CAACoC,SAAzB,CATK;AAUfa,EAAAA,QAAQ,EAAE5D,SAAS,CAAC8F,MAVL;AAWfjC,EAAAA,QAAQ,EAAE7D,SAAS,CAACiD,IAXL;AAYfa,EAAAA,kBAAkB,EAAE9D,SAAS,CAACgD,MAZf;AAafe,EAAAA,qBAAqB,EAAE/D,SAAS,CAACgD,MAblB;AAcfgB,EAAAA,OAAO,EAAEhE,SAAS,CAAC+F,IAdJ;AAef9B,EAAAA,eAAe,EAAEjE,SAAS,CAAC+F,IAfZ;AAgBf7B,EAAAA,UAAU,EAAElE,SAAS,CAACiD,IAhBP;AAiBfkB,EAAAA,YAAY,EAAEnE,SAAS,CAAC6F,KAAV,CAAgB/E,YAAY,CAACiC,SAA7B,CAjBC;AAkBfqB,EAAAA,aAAa,EAAE3D,eAAe,CAACsC,SAAhB,CAA0BqB,aAlB1B;AAmBfC,EAAAA,UAAU,EAAE5D,eAAe,CAACsC,SAAhB,CAA0BsB,UAnBvB;AAoBfC,EAAAA,KAAK,EAAEtE,SAAS,CAACgG,KAAV,CAAgB,MAAKhF,MAAL,CAAhB,CApBQ;AAqBf,gBAAchB,SAAS,CAACgD,MArBT;AAsBf,2BAAyBhD,SAAS,CAACgD,MAtBpB;AAuBf,yBAAuBpC,QAAQ,CAACmC,SAAT,CAAmB,YAAnB,CAvBR;AAwBf,2BAAyBlC,UAAU,CAACkC,SAAX,CAAqB,YAArB,CAxBV;AAyBf,yBAAuBpC,QAAQ,CAACoC,SAAT,CAAmB,YAAnB,CAzBR;AA0Bf,sBAAoB/C,SAAS,CAACgD,MA1Bf;AA2Bf,yBAAuBhD,SAAS,CAACgD,MA3BlB;AA4Bf,6BAA2BvC,eAAe,CAACsC,SAAhB,CAA0B,YAA1B;AA5BZ,CAAjB;AA8BA,eAAeG,IAAf","sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaSolidLoginLocked as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst CardBackground = ({type, image, empty, 'aria-label': ariaLabel}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[type].color;\n const backgroundIcon = (\n <div className={style.externalIconCircleWrapper}>\n <IconType className={style.externalIcon} />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n >\n <IconType className={style.externalIconWithImage} />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? <PicturesIcon className={style.emptyIcon} color={whiteColor} /> : null;\n return (\n <div\n className={classnames(\n style.imageWrapper,\n type === 'chapter' ? style.chapterImageWrapper : null\n )}\n >\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled = false,\n type = 'course',\n title,\n author,\n customer,\n certifiedAuthor,\n progress,\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n onClick,\n onFavoriteClick,\n isSelected,\n notification,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': cardArialabel,\n 'background-aria-label': backgroundAriaLabel,\n 'favorite-aria-label': favoriteAriaLabel,\n 'selectable-aria-label': selectableAriaLabel,\n 'customer-aria-label': customerAriaLabel,\n 'badge-aria-label': badgeAriaLabel,\n 'disabled-aria-label': disabledArialabel,\n 'card-content-aria-label': cardContentLabelAriaLabel\n } = props;\n const empty = isEmpty(pick(['title', 'type', 'author', 'image'], props));\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n const cardStyle = classnames(\n THEMES[theme],\n type === 'chapter' ? style.chapter : style.course,\n title ? null : style.lazy,\n style.grid,\n empty ? style.empty : null\n );\n const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);\n const lock = disabled ? (\n <LockIcon className={style.lockIcon} color={whiteColor} height={40} />\n ) : null;\n const inlineBadgeStyle = {color: primaryColor};\n const getType = contentType => {\n switch (contentType) {\n case 'chapter':\n return 'microlearning';\n case 'course':\n return 'learner';\n default:\n return contentType;\n }\n };\n\n return (\n <div\n className={cardStyle}\n data-name=\"card\"\n data-lock={disabled}\n data-type={getType(type)}\n disabled={disabled}\n onClick={handleClick}\n aria-label={cardArialabel}\n >\n <CardBackground type={type} image={image} empty={empty} aria-label={backgroundAriaLabel} />\n {isUndefined(isSelected) && !isUndefined(favorite) ? (\n <Favorite\n className={style.favorite}\n favorite={favorite}\n disabled={disabled}\n onFavoriteClick={onFavoriteClick}\n addFavoriteToolTip={addFavoriteToolTip}\n removeFavoriteToolTip={removeFavoriteToolTip}\n aria-label={favoriteAriaLabel}\n />\n ) : null}\n <Selectable isSelected={isSelected} aria-label={selectableAriaLabel} />\n {notification ? <Notification {...notification} /> : null}\n {customer ? (\n <Customer\n {...customer}\n theme={theme}\n type={type}\n disabled={disabled}\n aria-label={customerAriaLabel}\n />\n ) : null}\n <CardContentInfo\n mode={MODES.CARD}\n adaptiv={adaptiv}\n author={author}\n certifiedAuthor={certifiedAuthor}\n disabled={disabled}\n empty={empty}\n progress={progress}\n title={title}\n type={type}\n badgeCategory={badgeCategory}\n badgeLabel={badgeLabel}\n theme={theme}\n aria-label={cardContentLabelAriaLabel}\n />\n {badge ? (\n <div className={style.badge} style={inlineBadgeStyle} aria-label={badgeAriaLabel}>\n {badge}\n </div>\n ) : null}\n {disabled ? (\n <div className={style.lockWrapper} aria-label={disabledArialabel}>\n {lock}\n </div>\n ) : null}\n </div>\n );\n});\n\nCard.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCard.propTypes = {\n badge: PropTypes.string,\n image: PropTypes.string,\n disabled: PropTypes.bool,\n adaptiv: PropTypes.bool,\n type: PropTypes.string,\n title: PropTypes.string,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n customer: PropTypes.shape(Customer.propTypes),\n progress: PropTypes.number,\n favorite: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onClick: PropTypes.func,\n onFavoriteClick: PropTypes.func,\n isSelected: PropTypes.bool,\n notification: PropTypes.shape(Notification.propTypes),\n badgeCategory: CardContentInfo.propTypes.badgeCategory,\n badgeLabel: CardContentInfo.propTypes.badgeLabel,\n theme: PropTypes.oneOf(keys(THEMES)),\n 'aria-label': PropTypes.string,\n 'background-aria-label': PropTypes.string,\n 'favorite-aria-label': Favorite.propTypes['aria-label'],\n 'selectable-aria-label': Selectable.propTypes['aria-label'],\n 'customer-aria-label': Customer.propTypes['aria-label'],\n 'badge-aria-label': PropTypes.string,\n 'disabled-aria-label': PropTypes.string,\n 'card-content-aria-label': CardContentInfo.propTypes['aria-label']\n};\nexport default Card;\n"],"file":"index.js"}
@@ -7,7 +7,8 @@ import style from './selectable.css';
7
7
 
8
8
  const Selectable = props => {
9
9
  const {
10
- isSelected
10
+ isSelected,
11
+ 'aria-label': ariaLabel = {}
11
12
  } = props;
12
13
  if (_isUndefined(isSelected)) return null;
13
14
  return /*#__PURE__*/React.createElement("div", {
@@ -17,14 +18,20 @@ const Selectable = props => {
17
18
  }), /*#__PURE__*/React.createElement("div", {
18
19
  className: style.iconWrapper
19
20
  }, /*#__PURE__*/React.createElement(AddIcon, {
20
- className: style.addIcon
21
+ className: style.addIcon,
22
+ "aria-label": ariaLabel.select
21
23
  }), /*#__PURE__*/React.createElement(CheckIcon, {
22
- className: style.checkIcon
24
+ className: style.checkIcon,
25
+ "aria-label": ariaLabel.unSelect
23
26
  })));
24
27
  };
25
28
 
26
29
  Selectable.propTypes = process.env.NODE_ENV !== "production" ? {
27
- isSelected: PropTypes.bool
30
+ isSelected: PropTypes.bool,
31
+ 'aria-label': PropTypes.shape({
32
+ select: PropTypes.string,
33
+ unSelect: PropTypes.string
34
+ })
28
35
  } : {};
29
36
  export default Selectable;
30
37
  //# sourceMappingURL=selectable.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/card/selectable.js"],"names":["React","PropTypes","classnames","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidRemoveAddAddCircle1","AddIcon","style","Selectable","props","isSelected","selectable","selected","circle","iconWrapper","addIcon","checkIcon","propTypes","bool"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,2BAA2B,IAAIC,SADjC,EAEEC,4BAA4B,IAAIC,OAFlC,QAGO,0BAHP;AAIA,OAAOC,KAAP,MAAkB,kBAAlB;;AAEA,MAAMC,UAAU,GAAGC,KAAK,IAAI;AAC1B,QAAM;AAACC,IAAAA;AAAD,MAAeD,KAArB;AAEA,MAAI,aAAYC,UAAZ,CAAJ,EAA6B,OAAO,IAAP;AAE7B,sBACE;AAAK,IAAA,SAAS,EAAER,UAAU,CAACK,KAAK,CAACI,UAAP,EAAmBD,UAAU,IAAIH,KAAK,CAACK,QAAvC;AAA1B,kBACE;AAAK,IAAA,SAAS,EAAEL,KAAK,CAACM;AAAtB,IADF,eAEE;AAAK,IAAA,SAAS,EAAEN,KAAK,CAACO;AAAtB,kBACE,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAEP,KAAK,CAACQ;AAA1B,IADF,eAEE,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAER,KAAK,CAACS;AAA5B,IAFF,CAFF,CADF;AASD,CAdD;;AAgBAR,UAAU,CAACS,SAAX,2CAAuB;AACrBP,EAAAA,UAAU,EAAET,SAAS,CAACiB;AADD,CAAvB;AAIA,eAAeV,UAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isUndefined} from 'lodash/fp';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidRemoveAddAddCircle1 as AddIcon\n} from '@coorpacademy/nova-icons';\nimport style from './selectable.css';\n\nconst Selectable = props => {\n const {isSelected} = props;\n\n if (isUndefined(isSelected)) return null;\n\n return (\n <div className={classnames(style.selectable, isSelected && style.selected)}>\n <div className={style.circle} />\n <div className={style.iconWrapper}>\n <AddIcon className={style.addIcon} />\n <CheckIcon className={style.checkIcon} />\n </div>\n </div>\n );\n};\n\nSelectable.propTypes = {\n isSelected: PropTypes.bool\n};\n\nexport default Selectable;\n"],"file":"selectable.js"}
1
+ {"version":3,"sources":["../../../src/molecule/card/selectable.js"],"names":["React","PropTypes","classnames","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidRemoveAddAddCircle1","AddIcon","style","Selectable","props","isSelected","ariaLabel","selectable","selected","circle","iconWrapper","addIcon","select","checkIcon","unSelect","propTypes","bool","shape","string"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,2BAA2B,IAAIC,SADjC,EAEEC,4BAA4B,IAAIC,OAFlC,QAGO,0BAHP;AAIA,OAAOC,KAAP,MAAkB,kBAAlB;;AAEA,MAAMC,UAAU,GAAGC,KAAK,IAAI;AAC1B,QAAM;AAACC,IAAAA,UAAD;AAAa,kBAAcC,SAAS,GAAG;AAAvC,MAA6CF,KAAnD;AAEA,MAAI,aAAYC,UAAZ,CAAJ,EAA6B,OAAO,IAAP;AAE7B,sBACE;AAAK,IAAA,SAAS,EAAER,UAAU,CAACK,KAAK,CAACK,UAAP,EAAmBF,UAAU,IAAIH,KAAK,CAACM,QAAvC;AAA1B,kBACE;AAAK,IAAA,SAAS,EAAEN,KAAK,CAACO;AAAtB,IADF,eAEE;AAAK,IAAA,SAAS,EAAEP,KAAK,CAACQ;AAAtB,kBACE,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAER,KAAK,CAACS,OAA1B;AAAmC,kBAAYL,SAAS,CAACM;AAAzD,IADF,eAEE,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAEV,KAAK,CAACW,SAA5B;AAAuC,kBAAYP,SAAS,CAACQ;AAA7D,IAFF,CAFF,CADF;AASD,CAdD;;AAgBAX,UAAU,CAACY,SAAX,2CAAuB;AACrBV,EAAAA,UAAU,EAAET,SAAS,CAACoB,IADD;AAErB,gBAAcpB,SAAS,CAACqB,KAAV,CAAgB;AAC5BL,IAAAA,MAAM,EAAEhB,SAAS,CAACsB,MADU;AAE5BJ,IAAAA,QAAQ,EAAElB,SAAS,CAACsB;AAFQ,GAAhB;AAFO,CAAvB;AAQA,eAAef,UAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isUndefined} from 'lodash/fp';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidRemoveAddAddCircle1 as AddIcon\n} from '@coorpacademy/nova-icons';\nimport style from './selectable.css';\n\nconst Selectable = props => {\n const {isSelected, 'aria-label': ariaLabel = {}} = props;\n\n if (isUndefined(isSelected)) return null;\n\n return (\n <div className={classnames(style.selectable, isSelected && style.selected)}>\n <div className={style.circle} />\n <div className={style.iconWrapper}>\n <AddIcon className={style.addIcon} aria-label={ariaLabel.select} />\n <CheckIcon className={style.checkIcon} aria-label={ariaLabel.unSelect} />\n </div>\n </div>\n );\n};\n\nSelectable.propTypes = {\n isSelected: PropTypes.bool,\n 'aria-label': PropTypes.shape({\n select: PropTypes.string,\n unSelect: PropTypes.string\n })\n};\n\nexport default Selectable;\n"],"file":"selectable.js"}
@@ -18,7 +18,26 @@ export default {
18
18
  name: 'Decathlon creation'
19
19
  },
20
20
  onClick: () => console.log('click everywhere'),
21
- onFavoriteClick: () => console.log('click Favorite')
21
+ onFavoriteClick: () => console.log('click Favorite'),
22
+ 'aria-label': 'course card',
23
+ 'background-aria-label': 'image wthout informations',
24
+ 'favorite-aria-label': {
25
+ favorite: 'this cours is your favorite',
26
+ addToFavorite: 'add to favorite',
27
+ removeFromFavorite: 'remove from favorite'
28
+ },
29
+ 'selectable-aria-label': {
30
+ select: 'select course',
31
+ unSelect: 'unselect course'
32
+ },
33
+ 'customer-aria-label': 'made by',
34
+ 'badge-aria-label': 'new course',
35
+ 'disabled-aria-label': 'the course is disabled',
36
+ 'card-content-aria-label': {
37
+ author: 'auther name',
38
+ progression: 'you have done 65% of the course',
39
+ adaptive: 'this is an adaptive course'
40
+ }
22
41
  }
23
42
  };
24
43
  //# sourceMappingURL=default.js.map