@coorpacademy/components 10.5.7-alpha.15 → 10.5.7-alpha.16.12

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 (69) 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 +38 -3
  4. package/es/molecule/card/customer.js +6 -3
  5. package/es/molecule/card/customer.js.map +1 -1
  6. package/es/molecule/card/favorite.js +13 -4
  7. package/es/molecule/card/favorite.js.map +1 -1
  8. package/es/molecule/card/index.js +41 -12
  9. package/es/molecule/card/index.js.map +1 -1
  10. package/es/molecule/card/selectable.js +11 -4
  11. package/es/molecule/card/selectable.js.map +1 -1
  12. package/es/molecule/card/test/fixtures/default.js +20 -1
  13. package/es/molecule/card/test/fixtures/default.js.map +1 -1
  14. package/es/molecule/card-content/index.js +20 -7
  15. package/es/molecule/card-content/index.js.map +1 -1
  16. package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
  17. package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
  18. package/es/molecule/questions/qcm/style.css +4 -0
  19. package/es/molecule/questions/qcm-drag/index.js +53 -21
  20. package/es/molecule/questions/qcm-drag/index.js.map +1 -1
  21. package/es/molecule/questions/qcm-drag/style.css +72 -22
  22. package/es/molecule/questions/qcm-graphic/index.js +1 -0
  23. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  24. package/es/molecule/questions/qcm-graphic/style.css +12 -2
  25. package/es/molecule/questions/qcm-graphic/test/fixtures/default.js +1 -1
  26. package/es/molecule/questions/qcm-graphic/test/fixtures/default.js.map +1 -1
  27. package/es/molecule/questions/qcm-graphic/test/fixtures/no-selected.js +1 -1
  28. package/es/molecule/questions/qcm-graphic/test/fixtures/no-selected.js.map +1 -1
  29. package/es/molecule/questions/qcm-graphic/test/qcm-graphic.js +1 -1
  30. package/es/molecule/questions/qcm-graphic/test/qcm-graphic.js.map +1 -1
  31. package/es/molecule/questions/template/index.js +2 -1
  32. package/es/molecule/questions/template/index.js.map +1 -1
  33. package/es/molecule/questions/template/style.css +6 -0
  34. package/es/variables/colors.css +2 -0
  35. package/lib/atom/select/index.js +3 -2
  36. package/lib/atom/select/index.js.map +1 -1
  37. package/lib/atom/select/style.css +38 -3
  38. package/lib/molecule/card/customer.js +6 -3
  39. package/lib/molecule/card/customer.js.map +1 -1
  40. package/lib/molecule/card/favorite.js +13 -4
  41. package/lib/molecule/card/favorite.js.map +1 -1
  42. package/lib/molecule/card/index.js +41 -12
  43. package/lib/molecule/card/index.js.map +1 -1
  44. package/lib/molecule/card/selectable.js +11 -4
  45. package/lib/molecule/card/selectable.js.map +1 -1
  46. package/lib/molecule/card/test/fixtures/default.js +20 -1
  47. package/lib/molecule/card/test/fixtures/default.js.map +1 -1
  48. package/lib/molecule/card-content/index.js +21 -7
  49. package/lib/molecule/card-content/index.js.map +1 -1
  50. package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
  51. package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
  52. package/lib/molecule/questions/qcm/style.css +4 -0
  53. package/lib/molecule/questions/qcm-drag/index.js +53 -21
  54. package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
  55. package/lib/molecule/questions/qcm-drag/style.css +72 -22
  56. package/lib/molecule/questions/qcm-graphic/index.js +1 -0
  57. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  58. package/lib/molecule/questions/qcm-graphic/style.css +12 -2
  59. package/lib/molecule/questions/qcm-graphic/test/fixtures/default.js +1 -1
  60. package/lib/molecule/questions/qcm-graphic/test/fixtures/default.js.map +1 -1
  61. package/lib/molecule/questions/qcm-graphic/test/fixtures/no-selected.js +1 -1
  62. package/lib/molecule/questions/qcm-graphic/test/fixtures/no-selected.js.map +1 -1
  63. package/lib/molecule/questions/qcm-graphic/test/qcm-graphic.js +1 -1
  64. package/lib/molecule/questions/qcm-graphic/test/qcm-graphic.js.map +1 -1
  65. package/lib/molecule/questions/template/index.js +2 -1
  66. package/lib/molecule/questions/template/index.js.map +1 -1
  67. package/lib/molecule/questions/template/style.css +6 -0
  68. package/lib/variables/colors.css +2 -0
  69. package/package.json +2 -2
@@ -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":";;;;;;;;;;;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SAAQC,kCAAkC,IAAIC,SAA9C,QAA8D,0BAA9D;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,aAAP,MAA0B,4BAA1B;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,UAAU,GAAG;AACjBC,EAAAA,MAAM,EAAEF,KAAK,CAACE,MADG;AAEjBC,EAAAA,OAAO,EAAEH,KAAK,CAACG,OAFE;AAGjBC,EAAAA,MAAM,EAAEJ,KAAK,CAACI,MAHG;AAIjBC,EAAAA,IAAI,EAAEL,KAAK,CAACK,IAJK;AAKjBC,EAAAA,QAAQ,EAAEN,KAAK,CAACM,QALC;AAMjBC,EAAAA,IAAI,EAAEP,KAAK,CAACO,IANK;AAOjBC,EAAAA,WAAW,EAAER,KAAK,CAACQ,WAPF;AAQjBC,EAAAA,MAAM,EAAET,KAAK,CAACS,MARG;AASjBC,EAAAA,QAAQ,EAAEV,KAAK,CAACU,QATC,CASQ;;AATR,CAAnB;;AAYA,MAAMC,MAAM,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACjC,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,OAAO,GAAG,EAFN;AAGJC,IAAAA,SAHI;AAIJC,IAAAA,eAJI;AAKJC,IAAAA,QALI;AAMJC,IAAAA,QAAQ,GAAG,KANP;AAOJC,IAAAA,QAPI;AAQJC,IAAAA,QARI;AASJC,IAAAA,WATI;AAUJC,IAAAA,KAVI;AAWJC,IAAAA,QAAQ,GAAG,KAXP;AAYJC,IAAAA,KAAK,GAAG,KAZJ;AAaJC,IAAAA,KAAK,EAAEC;AAbH,MAcFf,KAdJ;AAgBA,QAAM;AAACgB,IAAAA;AAAD,MAASf,OAAf;AAEA,QAAMa,KAAK,GAAGjC,OAAO,CAAC,MAAOkC,SAAS,GAAI,GAAEA,SAAU,GAAEN,QAAQ,GAAG,GAAH,GAAS,EAAG,EAAtC,GAA0C,IAA3D,EAAkE,CACrFM,SADqF,EAErFN,QAFqF,CAAlE,CAArB;AAKA,QAAMQ,UAAU,GACdd,OAAO,IACPA,OAAO,CAACe,GAAR,CAAY,CAACC,MAAD,EAASC,KAAT,KAAmB;AAC7B,wBACE;AAAQ,MAAA,GAAG,EAAEA,KAAb;AAAoB,MAAA,KAAK,EAAED,MAAM,CAACE,KAAlC;AAAyC,MAAA,SAAS,EAAEjC,KAAK,CAACkC;AAA1D,OACGH,MAAM,CAACjB,IADV,CADF;AAKD,GAND,CAFF;AAUA,QAAMqB,SAAS,GAAGT,KAAK,gBAAG;AAAM,IAAA,SAAS,EAAE1B,KAAK,CAAC0B;AAAvB,KAA+BA,KAA/B,MAAH,GAAmD,IAA1E;AAEA,QAAMU,QAAQ,GAAG3C,OAAO,CACtB,MACE0B,QAAQ,GACJ,KAAI,KAAI,OAAJ,CAAJ,EAAkB,QAAO;AAACiB,IAAAA,QAAQ,EAAE;AAAX,GAAP,EAAyBrB,OAAzB,CAAlB,CADI,GAEJ,KAAI,OAAJ,EAAa,MAAK;AAACqB,IAAAA,QAAQ,EAAE;AAAX,GAAL,EAAuBrB,OAAvB,CAAb,CAJgB,EAKtB,CAACI,QAAD,EAAWJ,OAAX,CALsB,CAAxB;AAOA,QAAMsB,aAAa,GAAG5C,OAAO,CAC3B,MACE0B,QAAQ,GACJ,KAAI,KAAI,MAAJ,CAAJ,EAAiB,QAAO;AAACiB,IAAAA,QAAQ,EAAE;AAAX,GAAP,EAAyBrB,OAAzB,CAAjB,CADI,GAEJ,KAAI,MAAJ,EAAY,MAAK;AAACqB,IAAAA,QAAQ,EAAE;AAAX,GAAL,EAAuBrB,OAAvB,CAAZ,CAJqB,EAK3B,CAACI,QAAD,EAAWJ,OAAX,CAL2B,CAA7B;AAQA,QAAMuB,uBAAuB,GAAG7C,OAAO,CACrC,MACE8B,KAAK,KAAK,QAAV,IACA,OAAM,KAAN,EAAa,MAAb,EAAqB,MAAK;AAACgB,IAAAA,WAAW,EAAE,KAAd;AAAqBH,IAAAA,QAAQ,EAAE;AAA/B,GAAL,EAA2CrB,OAA3C,CAArB,CAHmC,EAIrC,CAACA,OAAD,EAAUQ,KAAV,CAJqC,CAAvC;AAOA,QAAMiB,YAAY,GAAG/C,OAAO,CAC1B,MACE0B,QAAQ,GACJsB,CAAC,IAAI;AACHvB,IAAAA,QAAQ,CAAC,KAAI,KAAI,OAAJ,CAAJ,EAAkBuB,CAAC,CAACC,MAAF,CAASC,eAA3B,CAAD,CAAR;AACD,GAHG,GAIJF,CAAC,IAAI;AACHvB,IAAAA,QAAQ,CAACuB,CAAC,CAACC,MAAF,CAAST,KAAV,CAAR;AACD,GARmB,EAS1B,CAACf,QAAD,EAAWC,QAAX,CAT0B,CAA5B;AAYA,QAAMyB,KAAK,GAAGnD,OAAO,CAAC,MAAM,OAAM,SAAN,EAAiB,cAAjB,EAAiCmC,IAAjC,CAAP,EAA+C,CAACA,IAAD,CAA/C,CAArB;AACA,QAAMiB,KAAK,GAAGpD,OAAO,CAAC,MAAM,OAAM,SAAN,EAAiB,gBAAjB,EAAmCmC,IAAnC,CAAP,EAAiD,CAACA,IAAD,CAAjD,CAArB;AACA,QAAMkB,sBAAsB,GAAGrD,OAAO,CACpC,MACE,CAAC6C,uBAAD,IAA4BF,QAA5B,IAAwC,UAASb,KAAT,EAAgB,CAAC,UAAD,EAAa,UAAb,EAAyB,QAAzB,CAAhB,CAFN,EAGpC,CAACe,uBAAD,EAA0BF,QAA1B,EAAoCb,KAApC,CAHoC,CAAtC;AAMA,QAAMwB,SAAS,GAAG,CAAC5B,QAAD,gBAChB,oBAAC,SAAD;AACE,IAAA,KAAK,EAAEiB,QAAQ,KAAKb,KAAK,KAAK,UAAV,IAAwBA,KAAK,KAAK,UAAvC,CAAR,GAA6DsB,KAA7D,GAAqED,KAD9E;AAEE,IAAA,SAAS,EAAE5C,KAAK,CAACgD;AAFnB,IADgB,GAKd,IALJ;AAMA,QAAMC,kBAAkB,GAAGxD,OAAO,CAChC,MAAMM,aAAa,CAACC,KAAK,CAACkD,OAAP,EAAgBlD,KAAK,CAACwB,QAAtB,EAAgCxB,KAAK,CAACyB,KAAtC,EAA6CD,QAA7C,EAAuDC,KAAvD,CADa,EAEhC,CAACA,KAAD,EAAQD,QAAR,CAFgC,CAAlC;AAIA,QAAM2B,iBAAiB,GAAG1D,OAAO,CAC/B,MACEE,UAAU,CACR4B,KAAK,GAAGtB,UAAU,CAACsB,KAAD,CAAb,GAAuB0B,kBADpB,EAERb,QAAQ,GAAGpC,KAAK,CAACoC,QAAT,GAAoBpC,KAAK,CAACoD,UAF1B,EAGRpC,SAHQ,CAFmB,EAO/B,CAACiC,kBAAD,EAAqBjC,SAArB,EAAgCoB,QAAhC,EAA0Cb,KAA1C,CAP+B,CAAjC;AAUA,QAAM8B,SAAS,GAAG5D,OAAO,CAAC,MAAM,MAAK4C,aAAL,CAAP,EAA4B,CAACA,aAAD,CAA5B,CAAzB;AAEA,QAAMiB,WAAW,GAAG7D,OAAO,CAAC,MAAM4D,SAAS,IAAI,EAApB,EAAwB,CAACA,SAAD,CAAxB,CAA3B;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEF;AAAhB,kBACE;AACE,iBAAU,gBADZ;AAEE,IAAA,KAAK,eACCL,sBAAsB,IAAI;AAC5BD,MAAAA;AAD4B,KAD3B,CAFP;AAOE,IAAA,SAAS,EAAE7C,KAAK,CAACuD;AAPnB,KASGpB,SATH,eAUE;AACE,iBAAU,aADZ;AAEE,IAAA,SAAS,EAAExC,UAAU,CACnBK,KAAK,CAACwD,UADa,EAEnB,UAASjC,KAAT,EAAgB,CAAC,QAAD,EAAW,SAAX,EAAsB,UAAtB,EAAkC,aAAlC,EAAiD,UAAjD,CAAhB,IACIvB,KAAK,CAACyD,aADV,GAEI,IAJe,EAKnBxC,eALmB,EAMnBqC,WAAW,GAAGtD,KAAK,CAAC0D,SAAT,GAAqB,IANb;AAFvB,KAWGrB,aAXH,CAVF,EAuBGU,SAvBH,eAwBE;AACE,iBAAU,eADZ;AAEE,IAAA,SAAS,EAAE/C,KAAK,CAAC2D,SAFnB;AAGE,IAAA,KAAK,EAAEtB,aAHT;AAIE,IAAA,IAAI,EAAEvB,IAJR;AAKE,IAAA,QAAQ,EAAE0B,YALZ;AAME,IAAA,KAAK,EAAEJ,QANT;AAOE,IAAA,QAAQ,EAAEjB,QAPZ;AAQE,IAAA,QAAQ,EAAEC;AARZ,KAUGS,UAVH,CAxBF,CADF,eAsCE;AAAK,IAAA,SAAS,EAAE7B,KAAK,CAACsB;AAAtB,KAAoCA,WAApC,CAtCF,CADF;AA0CD,CAhJD;;AAkJA,OAAO,MAAMsC,qBAAqB,GAAG;AACnC9C,EAAAA,IAAI,EAAEpB,SAAS,CAACmE,MAAV,CAAiBC,UADY;AAEnC7B,EAAAA,KAAK,EAAEvC,SAAS,CAACqE,SAAV,CAAoB,CAACrE,SAAS,CAACmE,MAAX,EAAmBnE,SAAS,CAACsE,MAA7B,CAApB,CAF4B;AAGnC5B,EAAAA,QAAQ,EAAE1C,SAAS,CAACuE,IAHe;AAInC1B,EAAAA,WAAW,EAAE7C,SAAS,CAACuE;AAJY,CAA9B;AAOPtD,MAAM,CAACuD,YAAP,GAAsB;AACpBtC,EAAAA,IAAI,EAAE9B,QAAQ,CAACqE,iBAAT,CAA2BvC;AADb,CAAtB;AAIAjB,MAAM,CAACyD,SAAP,2CAAmB;AACjB1C,EAAAA,KAAK,EAAEhC,SAAS,CAACmE,MADA;AAEjB/C,EAAAA,IAAI,EAAEpB,SAAS,CAACmE,MAFC;AAGjB7C,EAAAA,SAAS,EAAEtB,SAAS,CAACmE,MAHJ;AAIjB5C,EAAAA,eAAe,EAAEvB,SAAS,CAACmE,MAJV;AAKjBzC,EAAAA,QAAQ,EAAE1B,SAAS,CAACuE,IALH;AAMjB9C,EAAAA,QAAQ,EAAEzB,SAAS,CAACuE,IANH;AAOjB3C,EAAAA,WAAW,EAAE5B,SAAS,CAACmE,MAPN;AAQjBxC,EAAAA,QAAQ,EAAE3B,SAAS,CAACuE,IARH;AASjB/C,EAAAA,QAAQ,EAAExB,SAAS,CAAC2E,IATH;AAUjB9C,EAAAA,KAAK,EAAE7B,SAAS,CAAC4E,KAAV,CAAgB,MAAKrE,UAAL,CAAhB,CAVU;AAWjBc,EAAAA,OAAO,EAAErB,SAAS,CAAC6E,OAAV,CAAkB7E,SAAS,CAAC8E,KAAV,CAAgBZ,qBAAhB,CAAlB,CAXQ;AAYjBpC,EAAAA,QAAQ,EAAE9B,SAAS,CAACuE,IAZH;AAajBxC,EAAAA,KAAK,EAAE/B,SAAS,CAACuE;AAbA,CAAnB;AAgBA,eAAetD,MAAf","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;
@@ -77,7 +79,6 @@
77
79
  }
78
80
 
79
81
  .selectOption,
80
-
81
82
  .no-label .selectWrapper{
82
83
  min-width: min-content;
83
84
  height: min-content;
@@ -86,6 +87,7 @@
86
87
  .player .selectWrapper {
87
88
  min-width: min-content;
88
89
  height: min-content;
90
+ margin-right: 0;
89
91
  }
90
92
 
91
93
  .modified select {
@@ -133,6 +135,22 @@
133
135
  z-index: 11;
134
136
  }
135
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
+
136
154
  @media mobile {
137
155
  .arrow::after {
138
156
  right: 10px;
@@ -177,6 +195,8 @@
177
195
  }
178
196
 
179
197
  .filter .selectBox {
198
+ position: absolute;
199
+ top: 27px;
180
200
  display: block;
181
201
  width: 100%;
182
202
  height: 50px;
@@ -247,6 +267,12 @@ div.player .noLabelCommon.selectSpan {
247
267
  min-width: min-content;
248
268
  width: 100%;
249
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;
250
276
  }
251
277
 
252
278
  .no-label .selectBox {
@@ -466,13 +492,23 @@ div.player .noLabelCommon.selectSpan {
466
492
  composes: no-label;
467
493
  }
468
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
+
469
506
  /*
470
507
  Header
471
508
  */
472
509
 
473
510
  .header {
474
511
  composes: mooc;
475
- /* width: auto; */
476
512
  }
477
513
 
478
514
  .header .selectBox {
@@ -489,7 +525,6 @@ div.player .noLabelCommon.selectSpan {
489
525
  }
490
526
 
491
527
  .header .title,
492
-
493
528
  .header .selectWrapper span.selectSpan {
494
529
  min-width: 150px;
495
530
  color: transparent;
@@ -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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/molecule/card/test/fixtures/default.js"],"names":["props","image","adaptiv","certification","type","title","author","certifiedAuthor","progress","badge","favorite","addFavoriteToolTip","removeFavoriteToolTip","isSelected","undefined","customer","coorpOriginal","name","onClick","console","log","onFavoriteClick"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EACH,4LAFG;AAGLC,IAAAA,OAAO,EAAE,KAHJ;AAILC,IAAAA,aAAa,EAAE,KAJV;AAKLC,IAAAA,IAAI,EAAE,QALD;AAMLC,IAAAA,KAAK,EAAE,sDANF;AAOLC,IAAAA,MAAM,EAAE,cAPH;AAQLC,IAAAA,eAAe,EAAE,IARZ;AASLC,IAAAA,QAAQ,EAAE,IATL;AAULC,IAAAA,KAAK,EAAE,KAVF;AAWLC,IAAAA,QAAQ,EAAE,IAXL;AAYLC,IAAAA,kBAAkB,EAAE,gBAZf;AAaLC,IAAAA,qBAAqB,EAAE,qBAblB;AAcLC,IAAAA,UAAU,EAAEC,SAdP;AAeLC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,aAAa,EAAE,IADP;AAERC,MAAAA,IAAI,EAAE;AAFE,KAfL;AAmBLC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,kBAAZ,CAnBV;AAoBLC,IAAAA,eAAe,EAAE,MAAMF,OAAO,CAACC,GAAR,CAAY,gBAAZ;AApBlB;AADM,CAAf","sourcesContent":["export default {\n props: {\n image:\n 'https://api.coorpacademy.com/api-service/medias?url=https://static.coorpacademy.com/content/partner-wedemain/fr/medias/img/cover/shutterstock_248741149-1470302136299.jpg&h=500&w=500&q=90',\n adaptiv: false,\n certification: false,\n type: 'course',\n title: 'From Mass Market to One to One targeting Lorem ipsum',\n author: 'Coorpacademy',\n certifiedAuthor: true,\n progress: 0.65,\n badge: 'new',\n favorite: true,\n addFavoriteToolTip: 'Add to my list',\n removeFavoriteToolTip: 'Remove from my list',\n isSelected: undefined,\n customer: {\n coorpOriginal: true,\n name: 'Decathlon creation'\n },\n onClick: () => console.log('click everywhere'),\n onFavoriteClick: () => console.log('click Favorite')\n }\n};\n"],"file":"default.js"}
1
+ {"version":3,"sources":["../../../../../src/molecule/card/test/fixtures/default.js"],"names":["props","image","adaptiv","certification","type","title","author","certifiedAuthor","progress","badge","favorite","addFavoriteToolTip","removeFavoriteToolTip","isSelected","undefined","customer","coorpOriginal","name","onClick","console","log","onFavoriteClick","addToFavorite","removeFromFavorite","select","unSelect","progression","adaptive"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EACH,4LAFG;AAGLC,IAAAA,OAAO,EAAE,KAHJ;AAILC,IAAAA,aAAa,EAAE,KAJV;AAKLC,IAAAA,IAAI,EAAE,QALD;AAMLC,IAAAA,KAAK,EAAE,sDANF;AAOLC,IAAAA,MAAM,EAAE,cAPH;AAQLC,IAAAA,eAAe,EAAE,IARZ;AASLC,IAAAA,QAAQ,EAAE,IATL;AAULC,IAAAA,KAAK,EAAE,KAVF;AAWLC,IAAAA,QAAQ,EAAE,IAXL;AAYLC,IAAAA,kBAAkB,EAAE,gBAZf;AAaLC,IAAAA,qBAAqB,EAAE,qBAblB;AAcLC,IAAAA,UAAU,EAAEC,SAdP;AAeLC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,aAAa,EAAE,IADP;AAERC,MAAAA,IAAI,EAAE;AAFE,KAfL;AAmBLC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,kBAAZ,CAnBV;AAoBLC,IAAAA,eAAe,EAAE,MAAMF,OAAO,CAACC,GAAR,CAAY,gBAAZ,CApBlB;AAqBL,kBAAc,aArBT;AAsBL,6BAAyB,2BAtBpB;AAuBL,2BAAuB;AACrBV,MAAAA,QAAQ,EAAE,6BADW;AAErBY,MAAAA,aAAa,EAAE,iBAFM;AAGrBC,MAAAA,kBAAkB,EAAE;AAHC,KAvBlB;AA4BL,6BAAyB;AACvBC,MAAAA,MAAM,EAAE,eADe;AAEvBC,MAAAA,QAAQ,EAAE;AAFa,KA5BpB;AAgCL,2BAAuB,SAhClB;AAiCL,wBAAoB,YAjCf;AAkCL,2BAAuB,wBAlClB;AAmCL,+BAA2B;AACzBnB,MAAAA,MAAM,EAAE,aADiB;AAEzBoB,MAAAA,WAAW,EAAE,iCAFY;AAGzBC,MAAAA,QAAQ,EAAE;AAHe;AAnCtB;AADM,CAAf","sourcesContent":["export default {\n props: {\n image:\n 'https://api.coorpacademy.com/api-service/medias?url=https://static.coorpacademy.com/content/partner-wedemain/fr/medias/img/cover/shutterstock_248741149-1470302136299.jpg&h=500&w=500&q=90',\n adaptiv: false,\n certification: false,\n type: 'course',\n title: 'From Mass Market to One to One targeting Lorem ipsum',\n author: 'Coorpacademy',\n certifiedAuthor: true,\n progress: 0.65,\n badge: 'new',\n favorite: true,\n addFavoriteToolTip: 'Add to my list',\n removeFavoriteToolTip: 'Remove from my list',\n isSelected: undefined,\n customer: {\n coorpOriginal: true,\n name: 'Decathlon creation'\n },\n onClick: () => console.log('click everywhere'),\n onFavoriteClick: () => console.log('click Favorite'),\n 'aria-label': 'course card',\n 'background-aria-label': 'image wthout informations',\n 'favorite-aria-label': {\n favorite: 'this cours is your favorite',\n addToFavorite: 'add to favorite',\n removeFromFavorite: 'remove from favorite'\n },\n 'selectable-aria-label': {\n select: 'select course',\n unSelect: 'unselect course'\n },\n 'customer-aria-label': 'made by',\n 'badge-aria-label': 'new course',\n 'disabled-aria-label': 'the course is disabled',\n 'card-content-aria-label': {\n author: 'auther name',\n progression: 'you have done 65% of the course',\n adaptive: 'this is an adaptive course'\n }\n }\n};\n"],"file":"default.js"}