@coorpacademy/components 11.32.36-alpha.3 → 11.32.36

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 (115) hide show
  1. package/es/atom/input-search/index.d.ts +1 -0
  2. package/es/atom/input-search/index.d.ts.map +1 -1
  3. package/es/atom/input-search/index.js +5 -2
  4. package/es/atom/input-search/index.js.map +1 -1
  5. package/es/molecule/certification-card/index.d.ts.map +1 -1
  6. package/es/molecule/certification-card/index.js +1 -2
  7. package/es/molecule/certification-card/index.js.map +1 -1
  8. package/es/molecule/progress-bar/index.d.ts.map +1 -1
  9. package/es/molecule/progress-bar/index.js +1 -3
  10. package/es/molecule/progress-bar/index.js.map +1 -1
  11. package/es/molecule/progress-wrapper/index.d.ts +4 -5
  12. package/es/molecule/progress-wrapper/index.d.ts.map +1 -1
  13. package/es/molecule/progress-wrapper/index.js +33 -45
  14. package/es/molecule/progress-wrapper/index.js.map +1 -1
  15. package/es/molecule/progress-wrapper/style.css +4 -25
  16. package/es/molecule/search-form/index.d.ts +2 -0
  17. package/es/molecule/search-form/index.d.ts.map +1 -1
  18. package/es/molecule/search-form/index.js +6 -3
  19. package/es/molecule/search-form/index.js.map +1 -1
  20. package/es/organism/brand-table/index.d.ts +1 -0
  21. package/es/organism/mooc-header/index.d.ts +1 -0
  22. package/es/organism/mooc-header/index.d.ts.map +1 -1
  23. package/es/template/back-office/brand-update/index.d.ts +2 -0
  24. package/es/template/certification-detail/index.d.ts +5 -47
  25. package/es/template/certification-detail/index.d.ts.map +1 -1
  26. package/es/template/certification-detail/index.js +23 -43
  27. package/es/template/certification-detail/index.js.map +1 -1
  28. package/es/template/certification-detail/style.css +1 -12
  29. package/es/template/certifications/index.js +1 -2
  30. package/es/template/certifications/index.js.map +1 -1
  31. package/es/template/playlist-detail/index.d.ts +7 -1
  32. package/es/template/playlist-detail/index.d.ts.map +1 -1
  33. package/es/template/playlist-detail/index.js +9 -4
  34. package/es/template/playlist-detail/index.js.map +1 -1
  35. package/es/template/playlist-detail/style.css +4 -0
  36. package/es/template/skill-detail/all-courses.d.ts +1 -2
  37. package/es/template/skill-detail/all-courses.d.ts.map +1 -1
  38. package/es/template/skill-detail/all-courses.js +45 -37
  39. package/es/template/skill-detail/all-courses.js.map +1 -1
  40. package/es/template/skill-detail/index.d.ts +20 -15
  41. package/es/template/skill-detail/index.d.ts.map +1 -1
  42. package/es/template/skill-detail/index.js +8 -5
  43. package/es/template/skill-detail/index.js.map +1 -1
  44. package/lib/atom/input-search/index.d.ts +1 -0
  45. package/lib/atom/input-search/index.d.ts.map +1 -1
  46. package/lib/atom/input-search/index.js +5 -2
  47. package/lib/atom/input-search/index.js.map +1 -1
  48. package/lib/molecule/certification-card/index.d.ts.map +1 -1
  49. package/lib/molecule/certification-card/index.js +1 -2
  50. package/lib/molecule/certification-card/index.js.map +1 -1
  51. package/lib/molecule/progress-bar/index.d.ts.map +1 -1
  52. package/lib/molecule/progress-bar/index.js +1 -3
  53. package/lib/molecule/progress-bar/index.js.map +1 -1
  54. package/lib/molecule/progress-wrapper/index.d.ts +4 -5
  55. package/lib/molecule/progress-wrapper/index.d.ts.map +1 -1
  56. package/lib/molecule/progress-wrapper/index.js +33 -46
  57. package/lib/molecule/progress-wrapper/index.js.map +1 -1
  58. package/lib/molecule/progress-wrapper/style.css +4 -25
  59. package/lib/molecule/search-form/index.d.ts +2 -0
  60. package/lib/molecule/search-form/index.d.ts.map +1 -1
  61. package/lib/molecule/search-form/index.js +6 -3
  62. package/lib/molecule/search-form/index.js.map +1 -1
  63. package/lib/organism/brand-table/index.d.ts +1 -0
  64. package/lib/organism/mooc-header/index.d.ts +1 -0
  65. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  66. package/lib/template/back-office/brand-update/index.d.ts +2 -0
  67. package/lib/template/certification-detail/index.d.ts +5 -47
  68. package/lib/template/certification-detail/index.d.ts.map +1 -1
  69. package/lib/template/certification-detail/index.js +23 -43
  70. package/lib/template/certification-detail/index.js.map +1 -1
  71. package/lib/template/certification-detail/style.css +1 -12
  72. package/lib/template/certifications/index.js +1 -2
  73. package/lib/template/certifications/index.js.map +1 -1
  74. package/lib/template/playlist-detail/index.d.ts +7 -1
  75. package/lib/template/playlist-detail/index.d.ts.map +1 -1
  76. package/lib/template/playlist-detail/index.js +10 -4
  77. package/lib/template/playlist-detail/index.js.map +1 -1
  78. package/lib/template/playlist-detail/style.css +4 -0
  79. package/lib/template/skill-detail/all-courses.d.ts +1 -2
  80. package/lib/template/skill-detail/all-courses.d.ts.map +1 -1
  81. package/lib/template/skill-detail/all-courses.js +47 -36
  82. package/lib/template/skill-detail/all-courses.js.map +1 -1
  83. package/lib/template/skill-detail/index.d.ts +20 -15
  84. package/lib/template/skill-detail/index.d.ts.map +1 -1
  85. package/lib/template/skill-detail/index.js +9 -5
  86. package/lib/template/skill-detail/index.js.map +1 -1
  87. package/locales/bs/global.json +3 -1
  88. package/locales/cs/global.json +3 -1
  89. package/locales/de/global.json +3 -1
  90. package/locales/en/global.json +3 -1
  91. package/locales/es/global.json +3 -1
  92. package/locales/et/global.json +3 -1
  93. package/locales/fi/global.json +3 -1
  94. package/locales/fr/global.json +3 -1
  95. package/locales/hr/global.json +3 -1
  96. package/locales/hu/global.json +3 -1
  97. package/locales/hy/global.json +3 -1
  98. package/locales/it/global.json +3 -1
  99. package/locales/ja/global.json +3 -1
  100. package/locales/ko/global.json +3 -1
  101. package/locales/nl/global.json +3 -1
  102. package/locales/pl/global.json +3 -1
  103. package/locales/pt/global.json +3 -1
  104. package/locales/ro/global.json +3 -1
  105. package/locales/ru/global.json +3 -1
  106. package/locales/sk/global.json +3 -1
  107. package/locales/sl/global.json +3 -1
  108. package/locales/sv/global.json +3 -1
  109. package/locales/tl/global.json +3 -1
  110. package/locales/tr/global.json +3 -1
  111. package/locales/uk/global.json +3 -1
  112. package/locales/vi/global.json +3 -1
  113. package/locales/zh/global.json +3 -1
  114. package/locales/zh_TW/global.json +3 -1
  115. package/package.json +2 -2
@@ -32,6 +32,7 @@ declare namespace Search {
32
32
  const onFocus: PropTypes.Requireable<(...args: any[]) => any>;
33
33
  const onBlur: PropTypes.Requireable<(...args: any[]) => any>;
34
34
  const theme: PropTypes.Requireable<string>;
35
+ const dataTestId: PropTypes.Requireable<string>;
35
36
  }
36
37
  }
37
38
  import PropTypes from "prop-types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/input-search/index.js"],"names":[],"mappings":";AAYA,iDAgDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/input-search/index.js"],"names":[],"mappings":";AAYA,iDAkDC"}
@@ -15,7 +15,8 @@ const Search = props => {
15
15
  onClear = _noop,
16
16
  onFocus,
17
17
  onBlur,
18
- theme = 'default'
18
+ theme = 'default',
19
+ dataTestId
19
20
  } = props;
20
21
  const handleChange = useMemo(() => e => onChange(e.target.value), [onChange]);
21
22
  const cmStyle = classnames(style.coorpmanager);
@@ -33,6 +34,7 @@ const Search = props => {
33
34
  className: classnames(style.title, _isEmpty(value) && style.noValue)
34
35
  }, placeholder) : null), /*#__PURE__*/React.createElement("input", {
35
36
  "data-name": "search-input",
37
+ "data-testid": dataTestId,
36
38
  className: style.search,
37
39
  "aria-label": placeholder,
38
40
  type: "text",
@@ -61,7 +63,8 @@ Search.propTypes = process.env.NODE_ENV !== "production" ? {
61
63
  onClear: PropTypes.func,
62
64
  onFocus: PropTypes.func,
63
65
  onBlur: PropTypes.func,
64
- theme: PropTypes.oneOf(['default', 'coorpmanager'])
66
+ theme: PropTypes.oneOf(['default', 'coorpmanager']),
67
+ dataTestId: PropTypes.string
65
68
  } : {};
66
69
  export default Search;
67
70
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","classnames","NovaCompositionCoorpacademySearchThin","CMSearchIcon","NovaCompositionCoorpacademySearch","SearchIcon","NovaSolidStatusClose","CloseIcon","Provider","style","Search","props","value","placeholder","onChange","onClear","onFocus","onBlur","theme","handleChange","e","target","cmStyle","coorpmanager","isDefaultTheme","wrapperSearch","searchIcon","title","noValue","search","clearIcon","contextTypes","skin","childContextTypes","propTypes","string","isRequired","func","oneOf"],"sources":["../../../src/atom/input-search/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademySearchThin as CMSearchIcon,\n NovaCompositionCoorpacademySearch as SearchIcon,\n NovaSolidStatusClose as CloseIcon\n} from '@coorpacademy/nova-icons';\nimport {noop, isEmpty} from 'lodash/fp';\nimport Provider from '../provider';\nimport style from './style.css';\n\nconst Search = props => {\n const {\n value,\n placeholder,\n onChange = noop,\n onClear = noop,\n onFocus,\n onBlur,\n theme = 'default'\n } = props;\n const handleChange = useMemo(() => e => onChange(e.target.value), [onChange]);\n const cmStyle = classnames(style.coorpmanager);\n const isDefaultTheme = theme === 'default';\n\n return (\n <div className={isDefaultTheme ? style.wrapperSearch : cmStyle}>\n <label htmlFor=\"search\" title={placeholder}>\n {!isDefaultTheme ? (\n <CMSearchIcon className={style.searchIcon} />\n ) : (\n <SearchIcon className={style.searchIcon} />\n )}\n {!isDefaultTheme ? (\n <span className={classnames(style.title, isEmpty(value) && style.noValue)}>\n {placeholder}\n </span>\n ) : null}\n </label>\n <input\n data-name=\"search-input\"\n className={style.search}\n aria-label={placeholder}\n type=\"text\"\n name=\"search\"\n id=\"search\"\n placeholder={placeholder}\n title={placeholder}\n value={value}\n onInput={handleChange}\n onFocus={onFocus}\n onChange={noop}\n onBlur={onBlur}\n />\n {value && !isDefaultTheme ? (\n <CloseIcon onClick={onClear} className={style.clearIcon} />\n ) : null}\n </div>\n );\n};\n\nSearch.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSearch.propTypes = {\n value: PropTypes.string,\n placeholder: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n onClear: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n theme: PropTypes.oneOf(['default', 'coorpmanager'])\n};\n\nexport default Search;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SACEC,qCAAqC,IAAIC,YAD3C,EAEEC,iCAAiC,IAAIC,UAFvC,EAGEC,oBAAoB,IAAIC,SAH1B,QAIO,0BAJP;AAMA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,MAAM,GAAGC,KAAK,IAAI;EACtB,MAAM;IACJC,KADI;IAEJC,WAFI;IAGJC,QAAQ,QAHJ;IAIJC,OAAO,QAJH;IAKJC,OALI;IAMJC,MANI;IAOJC,KAAK,GAAG;EAPJ,IAQFP,KARJ;EASA,MAAMQ,YAAY,GAAGpB,OAAO,CAAC,MAAMqB,CAAC,IAAIN,QAAQ,CAACM,CAAC,CAACC,MAAF,CAAST,KAAV,CAApB,EAAsC,CAACE,QAAD,CAAtC,CAA5B;EACA,MAAMQ,OAAO,GAAGrB,UAAU,CAACQ,KAAK,CAACc,YAAP,CAA1B;EACA,MAAMC,cAAc,GAAGN,KAAK,KAAK,SAAjC;EAEA,oBACE;IAAK,SAAS,EAAEM,cAAc,GAAGf,KAAK,CAACgB,aAAT,GAAyBH;EAAvD,gBACE;IAAO,OAAO,EAAC,QAAf;IAAwB,KAAK,EAAET;EAA/B,GACG,CAACW,cAAD,gBACC,oBAAC,YAAD;IAAc,SAAS,EAAEf,KAAK,CAACiB;EAA/B,EADD,gBAGC,oBAAC,UAAD;IAAY,SAAS,EAAEjB,KAAK,CAACiB;EAA7B,EAJJ,EAMG,CAACF,cAAD,gBACC;IAAM,SAAS,EAAEvB,UAAU,CAACQ,KAAK,CAACkB,KAAP,EAAc,SAAQf,KAAR,KAAkBH,KAAK,CAACmB,OAAtC;EAA3B,GACGf,WADH,CADD,GAIG,IAVN,CADF,eAaE;IACE,aAAU,cADZ;IAEE,SAAS,EAAEJ,KAAK,CAACoB,MAFnB;IAGE,cAAYhB,WAHd;IAIE,IAAI,EAAC,MAJP;IAKE,IAAI,EAAC,QALP;IAME,EAAE,EAAC,QANL;IAOE,WAAW,EAAEA,WAPf;IAQE,KAAK,EAAEA,WART;IASE,KAAK,EAAED,KATT;IAUE,OAAO,EAAEO,YAVX;IAWE,OAAO,EAAEH,OAXX;IAYE,QAAQ,OAZV;IAaE,MAAM,EAAEC;EAbV,EAbF,EA4BGL,KAAK,IAAI,CAACY,cAAV,gBACC,oBAAC,SAAD;IAAW,OAAO,EAAET,OAApB;IAA6B,SAAS,EAAEN,KAAK,CAACqB;EAA9C,EADD,GAEG,IA9BN,CADF;AAkCD,CAhDD;;AAkDApB,MAAM,CAACqB,YAAP,GAAsB;EACpBC,IAAI,EAAExB,QAAQ,CAACyB,iBAAT,CAA2BD;AADb,CAAtB;AAIAtB,MAAM,CAACwB,SAAP,2CAAmB;EACjBtB,KAAK,EAAEZ,SAAS,CAACmC,MADA;EAEjBtB,WAAW,EAAEb,SAAS,CAACmC,MAAV,CAAiBC,UAFb;EAGjBtB,QAAQ,EAAEd,SAAS,CAACqC,IAHH;EAIjBtB,OAAO,EAAEf,SAAS,CAACqC,IAJF;EAKjBrB,OAAO,EAAEhB,SAAS,CAACqC,IALF;EAMjBpB,MAAM,EAAEjB,SAAS,CAACqC,IAND;EAOjBnB,KAAK,EAAElB,SAAS,CAACsC,KAAV,CAAgB,CAAC,SAAD,EAAY,cAAZ,CAAhB;AAPU,CAAnB;AAUA,eAAe5B,MAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","classnames","NovaCompositionCoorpacademySearchThin","CMSearchIcon","NovaCompositionCoorpacademySearch","SearchIcon","NovaSolidStatusClose","CloseIcon","Provider","style","Search","props","value","placeholder","onChange","onClear","onFocus","onBlur","theme","dataTestId","handleChange","e","target","cmStyle","coorpmanager","isDefaultTheme","wrapperSearch","searchIcon","title","noValue","search","clearIcon","contextTypes","skin","childContextTypes","propTypes","string","isRequired","func","oneOf"],"sources":["../../../src/atom/input-search/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademySearchThin as CMSearchIcon,\n NovaCompositionCoorpacademySearch as SearchIcon,\n NovaSolidStatusClose as CloseIcon\n} from '@coorpacademy/nova-icons';\nimport {noop, isEmpty} from 'lodash/fp';\nimport Provider from '../provider';\nimport style from './style.css';\n\nconst Search = props => {\n const {\n value,\n placeholder,\n onChange = noop,\n onClear = noop,\n onFocus,\n onBlur,\n theme = 'default',\n dataTestId\n } = props;\n const handleChange = useMemo(() => e => onChange(e.target.value), [onChange]);\n const cmStyle = classnames(style.coorpmanager);\n const isDefaultTheme = theme === 'default';\n\n return (\n <div className={isDefaultTheme ? style.wrapperSearch : cmStyle}>\n <label htmlFor=\"search\" title={placeholder}>\n {!isDefaultTheme ? (\n <CMSearchIcon className={style.searchIcon} />\n ) : (\n <SearchIcon className={style.searchIcon} />\n )}\n {!isDefaultTheme ? (\n <span className={classnames(style.title, isEmpty(value) && style.noValue)}>\n {placeholder}\n </span>\n ) : null}\n </label>\n <input\n data-name=\"search-input\"\n data-testid={dataTestId}\n className={style.search}\n aria-label={placeholder}\n type=\"text\"\n name=\"search\"\n id=\"search\"\n placeholder={placeholder}\n title={placeholder}\n value={value}\n onInput={handleChange}\n onFocus={onFocus}\n onChange={noop}\n onBlur={onBlur}\n />\n {value && !isDefaultTheme ? (\n <CloseIcon onClick={onClear} className={style.clearIcon} />\n ) : null}\n </div>\n );\n};\n\nSearch.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSearch.propTypes = {\n value: PropTypes.string,\n placeholder: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n onClear: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n theme: PropTypes.oneOf(['default', 'coorpmanager']),\n dataTestId: PropTypes.string\n};\n\nexport default Search;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SACEC,qCAAqC,IAAIC,YAD3C,EAEEC,iCAAiC,IAAIC,UAFvC,EAGEC,oBAAoB,IAAIC,SAH1B,QAIO,0BAJP;AAMA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,MAAM,GAAGC,KAAK,IAAI;EACtB,MAAM;IACJC,KADI;IAEJC,WAFI;IAGJC,QAAQ,QAHJ;IAIJC,OAAO,QAJH;IAKJC,OALI;IAMJC,MANI;IAOJC,KAAK,GAAG,SAPJ;IAQJC;EARI,IASFR,KATJ;EAUA,MAAMS,YAAY,GAAGrB,OAAO,CAAC,MAAMsB,CAAC,IAAIP,QAAQ,CAACO,CAAC,CAACC,MAAF,CAASV,KAAV,CAApB,EAAsC,CAACE,QAAD,CAAtC,CAA5B;EACA,MAAMS,OAAO,GAAGtB,UAAU,CAACQ,KAAK,CAACe,YAAP,CAA1B;EACA,MAAMC,cAAc,GAAGP,KAAK,KAAK,SAAjC;EAEA,oBACE;IAAK,SAAS,EAAEO,cAAc,GAAGhB,KAAK,CAACiB,aAAT,GAAyBH;EAAvD,gBACE;IAAO,OAAO,EAAC,QAAf;IAAwB,KAAK,EAAEV;EAA/B,GACG,CAACY,cAAD,gBACC,oBAAC,YAAD;IAAc,SAAS,EAAEhB,KAAK,CAACkB;EAA/B,EADD,gBAGC,oBAAC,UAAD;IAAY,SAAS,EAAElB,KAAK,CAACkB;EAA7B,EAJJ,EAMG,CAACF,cAAD,gBACC;IAAM,SAAS,EAAExB,UAAU,CAACQ,KAAK,CAACmB,KAAP,EAAc,SAAQhB,KAAR,KAAkBH,KAAK,CAACoB,OAAtC;EAA3B,GACGhB,WADH,CADD,GAIG,IAVN,CADF,eAaE;IACE,aAAU,cADZ;IAEE,eAAaM,UAFf;IAGE,SAAS,EAAEV,KAAK,CAACqB,MAHnB;IAIE,cAAYjB,WAJd;IAKE,IAAI,EAAC,MALP;IAME,IAAI,EAAC,QANP;IAOE,EAAE,EAAC,QAPL;IAQE,WAAW,EAAEA,WARf;IASE,KAAK,EAAEA,WATT;IAUE,KAAK,EAAED,KAVT;IAWE,OAAO,EAAEQ,YAXX;IAYE,OAAO,EAAEJ,OAZX;IAaE,QAAQ,OAbV;IAcE,MAAM,EAAEC;EAdV,EAbF,EA6BGL,KAAK,IAAI,CAACa,cAAV,gBACC,oBAAC,SAAD;IAAW,OAAO,EAAEV,OAApB;IAA6B,SAAS,EAAEN,KAAK,CAACsB;EAA9C,EADD,GAEG,IA/BN,CADF;AAmCD,CAlDD;;AAoDArB,MAAM,CAACsB,YAAP,GAAsB;EACpBC,IAAI,EAAEzB,QAAQ,CAAC0B,iBAAT,CAA2BD;AADb,CAAtB;AAIAvB,MAAM,CAACyB,SAAP,2CAAmB;EACjBvB,KAAK,EAAEZ,SAAS,CAACoC,MADA;EAEjBvB,WAAW,EAAEb,SAAS,CAACoC,MAAV,CAAiBC,UAFb;EAGjBvB,QAAQ,EAAEd,SAAS,CAACsC,IAHH;EAIjBvB,OAAO,EAAEf,SAAS,CAACsC,IAJF;EAKjBtB,OAAO,EAAEhB,SAAS,CAACsC,IALF;EAMjBrB,MAAM,EAAEjB,SAAS,CAACsC,IAND;EAOjBpB,KAAK,EAAElB,SAAS,CAACuC,KAAV,CAAgB,CAAC,SAAD,EAAY,cAAZ,CAAhB,CAPU;EAQjBpB,UAAU,EAAEnB,SAAS,CAACoC;AARL,CAAnB;AAWA,eAAe1B,MAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/certification-card/index.js"],"names":[],"mappings":";AAQA,0EAwDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/certification-card/index.js"],"names":[],"mappings":";AAQA,0EAsDC"}
@@ -64,8 +64,7 @@ const CertificationCard = (props, context) => {
64
64
  label: translate('certification'),
65
65
  size: "S"
66
66
  }), /*#__PURE__*/React.createElement("div", {
67
- className: style.title,
68
- "data-name": "certification-title"
67
+ className: style.title
69
68
  }, title), /*#__PURE__*/React.createElement("div", {
70
69
  className: style.moduleCount
71
70
  }, /*#__PURE__*/React.createElement("span", null, nbDone), ` ${translate('certification_module')}`)), /*#__PURE__*/React.createElement(ProgressBar, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","COLORS","Provider","Tag","ProgressBar","style","CertificationCard","props","context","label","goal","progress","imgUrl","onClick","title","condition","nbDone","translate","isInprogress","progressLabel","progressTagType","progressIconProps","position","iconName","iconColor","backgroundColor","size","faSize","wrapperSize","customStyle","padding","container","top","right","imageWrapper","detailWrapper","titleWrapper","moduleCount","customProgressBar","positive","contextTypes","childContextTypes","propTypes","string","shape","number","func"],"sources":["../../../src/molecule/certification-card/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {COLORS} from '../../variables/colors';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport ProgressBar from '../progress-bar';\nimport style from './style.css';\n\nconst CertificationCard = (props, context) => {\n const {label, goal, progress, imgUrl, onClick} = props;\n const {\n title,\n condition: {nbDone}\n } = goal;\n const {translate} = context;\n\n const isInprogress = progress < 100;\n const progressLabel = isInprogress ? translate('in_progress') : translate('completed');\n const progressTagType = isInprogress ? 'progress' : 'success';\n const progressIconProps = {\n position: 'left',\n iconName: isInprogress ? 'clock' : 'circle-check',\n iconColor: isInprogress ? '#B87A00' : '#05944F',\n backgroundColor: isInprogress ? '#FFEECC' : '#D6F5E5',\n size: {\n faSize: 10,\n wrapperSize: 10\n },\n customStyle: {padding: 0}\n };\n return (\n <div className={style.container} data-name={`certification-card-${label}`} onClick={onClick}>\n {progress > 0 ? (\n <Tag\n label={progressLabel}\n type={progressTagType}\n customStyle={{position: 'absolute', top: '12px', right: '12px'}}\n icon={progressIconProps}\n />\n ) : null}\n <div className={style.imageWrapper}>\n <img src={imgUrl} />\n </div>\n <div className={style.detailWrapper}>\n <div className={style.titleWrapper}>\n <Tag label={translate('certification')} size=\"S\" />\n <div className={style.title} data-name=\"certification-title\">\n {title}\n </div>\n <div className={style.moduleCount}>\n <span>{nbDone}</span>\n {` ${translate('certification_module')}`}\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.positive}}\n displayInfo={false}\n value={progress}\n max={100}\n />\n </div>\n </div>\n );\n};\n\nCertificationCard.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nCertificationCard.propTypes = {\n label: PropTypes.string,\n goal: PropTypes.shape({\n title: PropTypes.string,\n condition: PropTypes.shape({\n nbDone: PropTypes.number\n })\n }),\n progress: PropTypes.number,\n imgUrl: PropTypes.string,\n onClick: PropTypes.func\n};\n\nexport default CertificationCard;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","COLORS","Provider","Tag","ProgressBar","style","CertificationCard","props","context","label","goal","progress","imgUrl","onClick","title","condition","nbDone","translate","isInprogress","progressLabel","progressTagType","progressIconProps","position","iconName","iconColor","backgroundColor","size","faSize","wrapperSize","customStyle","padding","container","top","right","imageWrapper","detailWrapper","titleWrapper","moduleCount","customProgressBar","positive","contextTypes","childContextTypes","propTypes","string","shape","number","func"],"sources":["../../../src/molecule/certification-card/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {COLORS} from '../../variables/colors';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport ProgressBar from '../progress-bar';\nimport style from './style.css';\n\nconst CertificationCard = (props, context) => {\n const {label, goal, progress, imgUrl, onClick} = props;\n const {\n title,\n condition: {nbDone}\n } = goal;\n const {translate} = context;\n\n const isInprogress = progress < 100;\n const progressLabel = isInprogress ? translate('in_progress') : translate('completed');\n const progressTagType = isInprogress ? 'progress' : 'success';\n const progressIconProps = {\n position: 'left',\n iconName: isInprogress ? 'clock' : 'circle-check',\n iconColor: isInprogress ? '#B87A00' : '#05944F',\n backgroundColor: isInprogress ? '#FFEECC' : '#D6F5E5',\n size: {\n faSize: 10,\n wrapperSize: 10\n },\n customStyle: {padding: 0}\n };\n return (\n <div className={style.container} data-name={`certification-card-${label}`} onClick={onClick}>\n {progress > 0 ? (\n <Tag\n label={progressLabel}\n type={progressTagType}\n customStyle={{position: 'absolute', top: '12px', right: '12px'}}\n icon={progressIconProps}\n />\n ) : null}\n <div className={style.imageWrapper}>\n <img src={imgUrl} />\n </div>\n <div className={style.detailWrapper}>\n <div className={style.titleWrapper}>\n <Tag label={translate('certification')} size=\"S\" />\n <div className={style.title}>{title}</div>\n <div className={style.moduleCount}>\n <span>{nbDone}</span>\n {` ${translate('certification_module')}`}\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.positive}}\n displayInfo={false}\n value={progress}\n max={100}\n />\n </div>\n </div>\n );\n};\n\nCertificationCard.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nCertificationCard.propTypes = {\n label: PropTypes.string,\n goal: PropTypes.shape({\n title: PropTypes.string,\n condition: PropTypes.shape({\n nbDone: PropTypes.number\n })\n }),\n progress: PropTypes.number,\n imgUrl: PropTypes.string,\n onClick: PropTypes.func\n};\n\nexport default CertificationCard;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-bar/index.js"],"names":[],"mappings":";AAMA,sDAqCC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-bar/index.js"],"names":[],"mappings":";AAMA,sDAiCC"}
@@ -27,9 +27,7 @@ const ProgressBar = props => {
27
27
  }), steps);
28
28
 
29
29
  return /*#__PURE__*/React.createElement("div", {
30
- className: classnames(style.background, className),
31
- "data-name": "progress-bar-wrapper",
32
- "data-content": `${text}`
30
+ className: classnames(style.background, className)
33
31
  }, /*#__PURE__*/React.createElement("div", {
34
32
  className: style.progress,
35
33
  style: _extends({}, propsStyle, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","style","ProgressBar","props","className","value","max","desc","steps","propsStyle","displayInfo","ratio","percentage","Math","floor","text","stepList","index","step","background","progress","width","texts","description","propTypes","string","number","isRequired","objectOf","oneOfType","bool"],"sources":["../../../src/molecule/progress-bar/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {times} from 'lodash/fp';\nimport style from './style.css';\n\nconst ProgressBar = props => {\n const {\n className,\n value,\n max,\n desc = '',\n steps = 0,\n style: propsStyle,\n displayInfo = true\n } = props;\n\n const ratio = value / max;\n const percentage = Math.floor(ratio * 100);\n const text = `${percentage}%`;\n const stepList = times(index => <div className={style.step} key={index} />, steps);\n return (\n <div\n className={classnames(style.background, className)}\n data-name=\"progress-bar-wrapper\"\n data-content={`${text}`}\n >\n <div\n className={style.progress}\n style={{\n ...propsStyle,\n width: `${ratio * 100}%`\n }}\n />\n {displayInfo ? (\n <p className={style.texts}>\n <span className={style.description}>{`${value}/${max} ${desc}`}</span>\n <span className={style.percentage}>{text}</span>\n </p>\n ) : null}\n <div className={style.steps}>{stepList}</div>\n </div>\n );\n};\n\nProgressBar.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n desc: PropTypes.string,\n steps: PropTypes.number,\n style: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n displayInfo: PropTypes.bool\n};\n\nexport default ProgressBar;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,WAAW,GAAGC,KAAK,IAAI;EAC3B,MAAM;IACJC,SADI;IAEJC,KAFI;IAGJC,GAHI;IAIJC,IAAI,GAAG,EAJH;IAKJC,KAAK,GAAG,CALJ;IAMJP,KAAK,EAAEQ,UANH;IAOJC,WAAW,GAAG;EAPV,IAQFP,KARJ;EAUA,MAAMQ,KAAK,GAAGN,KAAK,GAAGC,GAAtB;EACA,MAAMM,UAAU,GAAGC,IAAI,CAACC,KAAL,CAAWH,KAAK,GAAG,GAAnB,CAAnB;EACA,MAAMI,IAAI,GAAI,GAAEH,UAAW,GAA3B;;EACA,MAAMI,QAAQ,GAAG,OAAMC,KAAK,iBAAI;IAAK,SAAS,EAAEhB,KAAK,CAACiB,IAAtB;IAA4B,GAAG,EAAED;EAAjC,EAAf,EAA2DT,KAA3D,CAAjB;;EACA,oBACE;IACE,SAAS,EAAER,UAAU,CAACC,KAAK,CAACkB,UAAP,EAAmBf,SAAnB,CADvB;IAEE,aAAU,sBAFZ;IAGE,gBAAe,GAAEW,IAAK;EAHxB,gBAKE;IACE,SAAS,EAAEd,KAAK,CAACmB,QADnB;IAEE,KAAK,eACAX,UADA;MAEHY,KAAK,EAAG,GAAEV,KAAK,GAAG,GAAI;IAFnB;EAFP,EALF,EAYGD,WAAW,gBACV;IAAG,SAAS,EAAET,KAAK,CAACqB;EAApB,gBACE;IAAM,SAAS,EAAErB,KAAK,CAACsB;EAAvB,GAAsC,GAAElB,KAAM,IAAGC,GAAI,IAAGC,IAAK,EAA7D,CADF,eAEE;IAAM,SAAS,EAAEN,KAAK,CAACW;EAAvB,GAAoCG,IAApC,CAFF,CADU,GAKR,IAjBN,eAkBE;IAAK,SAAS,EAAEd,KAAK,CAACO;EAAtB,GAA8BQ,QAA9B,CAlBF,CADF;AAsBD,CArCD;;AAuCAd,WAAW,CAACsB,SAAZ,2CAAwB;EACtBpB,SAAS,EAAEL,SAAS,CAAC0B,MADC;EAEtBpB,KAAK,EAAEN,SAAS,CAAC2B,MAAV,CAAiBC,UAFF;EAGtBrB,GAAG,EAAEP,SAAS,CAAC2B,MAAV,CAAiBC,UAHA;EAItBpB,IAAI,EAAER,SAAS,CAAC0B,MAJM;EAKtBjB,KAAK,EAAET,SAAS,CAAC2B,MALK;EAMtBzB,KAAK,EAAEF,SAAS,CAAC6B,QAAV,CAAmB7B,SAAS,CAAC8B,SAAV,CAAoB,CAAC9B,SAAS,CAAC0B,MAAX,EAAmB1B,SAAS,CAAC2B,MAA7B,CAApB,CAAnB,CANe;EAOtBhB,WAAW,EAAEX,SAAS,CAAC+B;AAPD,CAAxB;AAUA,eAAe5B,WAAf"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","style","ProgressBar","props","className","value","max","desc","steps","propsStyle","displayInfo","ratio","percentage","Math","floor","text","stepList","index","step","background","progress","width","texts","description","propTypes","string","number","isRequired","objectOf","oneOfType","bool"],"sources":["../../../src/molecule/progress-bar/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {times} from 'lodash/fp';\nimport style from './style.css';\n\nconst ProgressBar = props => {\n const {\n className,\n value,\n max,\n desc = '',\n steps = 0,\n style: propsStyle,\n displayInfo = true\n } = props;\n\n const ratio = value / max;\n const percentage = Math.floor(ratio * 100);\n const text = `${percentage}%`;\n const stepList = times(index => <div className={style.step} key={index} />, steps);\n return (\n <div className={classnames(style.background, className)}>\n <div\n className={style.progress}\n style={{\n ...propsStyle,\n width: `${ratio * 100}%`\n }}\n />\n {displayInfo ? (\n <p className={style.texts}>\n <span className={style.description}>{`${value}/${max} ${desc}`}</span>\n <span className={style.percentage}>{text}</span>\n </p>\n ) : null}\n <div className={style.steps}>{stepList}</div>\n </div>\n );\n};\n\nProgressBar.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n desc: PropTypes.string,\n steps: PropTypes.number,\n style: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n displayInfo: PropTypes.bool\n};\n\nexport default ProgressBar;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,WAAW,GAAGC,KAAK,IAAI;EAC3B,MAAM;IACJC,SADI;IAEJC,KAFI;IAGJC,GAHI;IAIJC,IAAI,GAAG,EAJH;IAKJC,KAAK,GAAG,CALJ;IAMJP,KAAK,EAAEQ,UANH;IAOJC,WAAW,GAAG;EAPV,IAQFP,KARJ;EAUA,MAAMQ,KAAK,GAAGN,KAAK,GAAGC,GAAtB;EACA,MAAMM,UAAU,GAAGC,IAAI,CAACC,KAAL,CAAWH,KAAK,GAAG,GAAnB,CAAnB;EACA,MAAMI,IAAI,GAAI,GAAEH,UAAW,GAA3B;;EACA,MAAMI,QAAQ,GAAG,OAAMC,KAAK,iBAAI;IAAK,SAAS,EAAEhB,KAAK,CAACiB,IAAtB;IAA4B,GAAG,EAAED;EAAjC,EAAf,EAA2DT,KAA3D,CAAjB;;EACA,oBACE;IAAK,SAAS,EAAER,UAAU,CAACC,KAAK,CAACkB,UAAP,EAAmBf,SAAnB;EAA1B,gBACE;IACE,SAAS,EAAEH,KAAK,CAACmB,QADnB;IAEE,KAAK,eACAX,UADA;MAEHY,KAAK,EAAG,GAAEV,KAAK,GAAG,GAAI;IAFnB;EAFP,EADF,EAQGD,WAAW,gBACV;IAAG,SAAS,EAAET,KAAK,CAACqB;EAApB,gBACE;IAAM,SAAS,EAAErB,KAAK,CAACsB;EAAvB,GAAsC,GAAElB,KAAM,IAAGC,GAAI,IAAGC,IAAK,EAA7D,CADF,eAEE;IAAM,SAAS,EAAEN,KAAK,CAACW;EAAvB,GAAoCG,IAApC,CAFF,CADU,GAKR,IAbN,eAcE;IAAK,SAAS,EAAEd,KAAK,CAACO;EAAtB,GAA8BQ,QAA9B,CAdF,CADF;AAkBD,CAjCD;;AAmCAd,WAAW,CAACsB,SAAZ,2CAAwB;EACtBpB,SAAS,EAAEL,SAAS,CAAC0B,MADC;EAEtBpB,KAAK,EAAEN,SAAS,CAAC2B,MAAV,CAAiBC,UAFF;EAGtBrB,GAAG,EAAEP,SAAS,CAAC2B,MAAV,CAAiBC,UAHA;EAItBpB,IAAI,EAAER,SAAS,CAAC0B,MAJM;EAKtBjB,KAAK,EAAET,SAAS,CAAC2B,MALK;EAMtBzB,KAAK,EAAEF,SAAS,CAAC6B,QAAV,CAAmB7B,SAAS,CAAC8B,SAAV,CAAoB,CAAC9B,SAAS,CAAC0B,MAAX,EAAmB1B,SAAS,CAAC2B,MAA7B,CAApB,CAAnB,CANe;EAOtBhB,WAAW,EAAEX,SAAS,CAAC+B;AAPD,CAAxB;AAUA,eAAe5B,WAAf"}
@@ -1,7 +1,7 @@
1
1
  export default ProgressWrapper;
2
- declare function ProgressWrapper({ completedCourses, completedModules, title, subtitle, progression, sections }: {
3
- completedCourses: any;
2
+ declare function ProgressWrapper({ completedModules, mandatoryModules, title, subtitle, progression, sections }: {
4
3
  completedModules: any;
4
+ mandatoryModules: any;
5
5
  title: any;
6
6
  subtitle: any;
7
7
  progression: any;
@@ -14,13 +14,12 @@ declare namespace ProgressWrapper {
14
14
  namespace propTypes {
15
15
  const title: PropTypes.Requireable<string>;
16
16
  const subtitle: PropTypes.Requireable<string>;
17
- const completedCourses: PropTypes.Requireable<number>;
18
17
  const completedModules: PropTypes.Requireable<number>;
18
+ const mandatoryModules: PropTypes.Requireable<number>;
19
19
  const progression: PropTypes.Requireable<number>;
20
20
  const sections: PropTypes.Requireable<(PropTypes.InferProps<{
21
21
  type: PropTypes.Requireable<string>;
22
- badgeUrl: PropTypes.Requireable<string>;
23
- onDownload: PropTypes.Requireable<(...args: any[]) => any>;
22
+ downloadUrl: PropTypes.Requireable<string>;
24
23
  stars: PropTypes.Requireable<number>;
25
24
  }> | null | undefined)[]>;
26
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-wrapper/index.js"],"names":[],"mappings":";AAyFA;;;;;;;8BA8DC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-wrapper/index.js"],"names":[],"mappings":";AAqGA;;;;;;;8BA8DC"}
@@ -1,5 +1,4 @@
1
1
  import _map from "lodash/fp/map";
2
- import _lowerCase from "lodash/fp/lowerCase";
3
2
  import _isEmpty from "lodash/fp/isEmpty";
4
3
 
5
4
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -24,8 +23,7 @@ const DetailSection = ({
24
23
  index,
25
24
  type,
26
25
  isLocked,
27
- badgeUrl,
28
- onDownload,
26
+ downloadUrl,
29
27
  stars
30
28
  }, context) => {
31
29
  const {
@@ -34,12 +32,16 @@ const DetailSection = ({
34
32
  const isTypeStars = type === 'stars';
35
33
  const DownloadButton = /*#__PURE__*/React.createElement(ButtonLink, {
36
34
  label: translate('download'),
37
- onClick: onDownload,
38
- "data-name": "download-button",
39
- "aria-label": "download button",
35
+ link: {
36
+ target: '_blank',
37
+ href: downloadUrl
38
+ },
39
+ "data-name": `download-${type}-button`,
40
+ "aria-label": `download ${type} button`,
40
41
  customStyle: {
41
42
  backgroundColor: '#F1F6FE',
42
- color: '#0061FF'
43
+ color: '#0061FF',
44
+ width: 'auto'
43
45
  },
44
46
  icon: {
45
47
  position: 'left',
@@ -68,7 +70,9 @@ const DetailSection = ({
68
70
  }
69
71
  });
70
72
  return isTypeStars ? /*#__PURE__*/React.createElement("div", {
71
- className: style[`detailsSection${index}`]
73
+ className: style[`detailsSection${index}`],
74
+ "data-name": type,
75
+ "aria-label": `${type} informations`
72
76
  }, /*#__PURE__*/React.createElement("div", {
73
77
  className: style.detailsInfo
74
78
  }, /*#__PURE__*/React.createElement("div", {
@@ -83,10 +87,12 @@ const DetailSection = ({
83
87
  backgroundColor: "#FFF9D1",
84
88
  preset: "xl"
85
89
  }), /*#__PURE__*/React.createElement("span", null, stars)))) : /*#__PURE__*/React.createElement("div", {
86
- className: style[`detailsSection${index}`]
90
+ className: style[`detailsSection${index}`],
91
+ "data-name": type,
92
+ "aria-label": `${type} informations`
87
93
  }, /*#__PURE__*/React.createElement("img", {
88
94
  className: style.img,
89
- src: badgeUrl || 'https://s3.eu-west-1.amazonaws.com/static.coorpacademy.com/assets/images/diploma.svg'
95
+ src: type === 'badge' ? downloadUrl : 'https://s3.eu-west-1.amazonaws.com/static.coorpacademy.com/assets/images/diploma.svg'
90
96
  }), /*#__PURE__*/React.createElement("div", {
91
97
  className: style.detailsInfo
92
98
  }, /*#__PURE__*/React.createElement("div", {
@@ -99,8 +105,8 @@ const DetailSection = ({
99
105
  };
100
106
 
101
107
  const ProgressWrapper = ({
102
- completedCourses,
103
108
  completedModules,
109
+ mandatoryModules,
104
110
  title,
105
111
  subtitle,
106
112
  progression,
@@ -109,10 +115,12 @@ const ProgressWrapper = ({
109
115
  const {
110
116
  translate
111
117
  } = context;
112
- const modulesCompletedLocal = translate('modules_completed');
118
+ const mandatoryCompletedModulesLocale = translate('modules_completed_mandatory');
113
119
  const isLocked = progression !== 100;
114
120
  return /*#__PURE__*/React.createElement("div", {
115
- className: style.container
121
+ className: style.container,
122
+ "data-name": "prgress-wrapper",
123
+ "aria-label": "progress wrapper section"
116
124
  }, /*#__PURE__*/React.createElement("div", {
117
125
  className: style.titleContainer
118
126
  }, /*#__PURE__*/React.createElement(Title, {
@@ -125,17 +133,13 @@ const ProgressWrapper = ({
125
133
  }, /*#__PURE__*/React.createElement("div", {
126
134
  className: style.stats
127
135
  }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", {
128
- className: style.statsNumber
129
- }, completedCourses), _lowerCase(translate('courses_completed'))), /*#__PURE__*/React.createElement("div", {
130
- className: style.divider
131
- }), /*#__PURE__*/React.createElement("div", {
132
- className: style.statsModule
133
- }, /*#__PURE__*/React.createElement("span", {
134
- className: style.statsNumber
135
- }, completedModules), modulesCompletedLocal)), /*#__PURE__*/React.createElement("div", {
136
+ className: style.statsNumber,
137
+ "data-name": "progress-stats"
138
+ }, `${completedModules > mandatoryModules ? mandatoryModules : completedModules} / ${mandatoryModules}`), mandatoryCompletedModulesLocale)), /*#__PURE__*/React.createElement("div", {
136
139
  className: style.progression
137
140
  }, /*#__PURE__*/React.createElement("span", {
138
- className: style.statsNumber
141
+ className: style.statsNumber,
142
+ "data-name": "progress-value"
139
143
  }, progression, "%"))), /*#__PURE__*/React.createElement(ProgressBar, {
140
144
  className: style.customProgressBar,
141
145
  style: {
@@ -145,37 +149,21 @@ const ProgressWrapper = ({
145
149
  value: progression,
146
150
  max: 100
147
151
  }), /*#__PURE__*/React.createElement("div", {
148
- className: style.statsMobile
149
- }, /*#__PURE__*/React.createElement("div", {
150
- className: style.statsModuleMobile
151
- }, /*#__PURE__*/React.createElement("span", {
152
- className: style.statsNumber
153
- }, completedModules), modulesCompletedLocal), /*#__PURE__*/React.createElement("div", {
154
152
  className: style.statsProgressionMobile
155
153
  }, /*#__PURE__*/React.createElement("span", {
156
154
  className: style.statsNumber
157
- }, progression, "%"))), _isEmpty(sections) ? null : /*#__PURE__*/React.createElement("div", {
155
+ }, progression, "%")), _isEmpty(sections) ? null : /*#__PURE__*/React.createElement("div", {
158
156
  className: style.details
159
- }, uncappedMap(({
160
- type,
161
- stars,
162
- badgeUrl,
163
- onDownload
164
- }, index) => /*#__PURE__*/React.createElement(DetailSection, {
165
- type,
166
- isLocked,
167
- badgeUrl,
168
- onDownload,
169
- stars,
170
- key: `${type}-${index}`,
157
+ }, uncappedMap((section, index) => /*#__PURE__*/React.createElement(DetailSection, _extends({}, section, {
158
+ isLocked: isLocked,
159
+ key: `${section.type}-${index}`,
171
160
  index: index
172
- }), sections)));
161
+ })), sections)));
173
162
  };
174
163
 
175
164
  const commonDetailSectionPropTypes = process.env.NODE_ENV !== "production" ? {
176
165
  type: PropTypes.oneOf(['diploma', 'badge', 'stars']),
177
- badgeUrl: PropTypes.string,
178
- onDownload: PropTypes.func,
166
+ downloadUrl: PropTypes.string,
179
167
  stars: PropTypes.number
180
168
  } : {};
181
169
  DetailSection.contextTypes = {
@@ -191,8 +179,8 @@ ProgressWrapper.contextTypes = {
191
179
  ProgressWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
192
180
  title: PropTypes.string,
193
181
  subtitle: PropTypes.string,
194
- completedCourses: PropTypes.number,
195
182
  completedModules: PropTypes.number,
183
+ mandatoryModules: PropTypes.number,
196
184
  progression: PropTypes.number,
197
185
  sections: PropTypes.arrayOf(PropTypes.shape(commonDetailSectionPropTypes))
198
186
  } : {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","Title","ProgressBar","COLORS","Tag","ButtonLink","Icon","Provider","style","uncappedMap","convert","cap","DetailSection","index","type","isLocked","badgeUrl","onDownload","stars","context","translate","isTypeStars","DownloadButton","backgroundColor","color","position","faIcon","name","size","customStyle","padding","LockedTag","iconName","iconColor","preset","detailsInfo","detailsInfoText","detailsTitle","img","buttonContainer","ProgressWrapper","completedCourses","completedModules","title","subtitle","progression","sections","modulesCompletedLocal","container","titleContainer","statscontainer","stats","statsNumber","divider","statsModule","customProgressBar","positive","statsMobile","statsModuleMobile","statsProgressionMobile","details","commonDetailSectionPropTypes","oneOf","string","func","number","contextTypes","childContextTypes","propTypes","bool","arrayOf","shape"],"sources":["../../../src/molecule/progress-wrapper/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty, lowerCase, map} from 'lodash/fp';\nimport Title from '../../atom/title';\nimport ProgressBar from '../progress-bar';\nimport {COLORS} from '../../variables/colors';\nimport Tag from '../../atom/tag';\nimport ButtonLink from '../../atom/button-link';\nimport Icon from '../../atom/icon';\nimport Provider from '../../atom/provider';\n// eslint-disable-next-line css-modules/no-unused-class\nimport style from './style.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst DetailSection = ({index, type, isLocked, badgeUrl, onDownload, stars}, context) => {\n const {translate} = context;\n const isTypeStars = type === 'stars';\n\n const DownloadButton = (\n <ButtonLink\n label={translate('download')}\n onClick={onDownload}\n data-name=\"download-button\"\n aria-label=\"download button\"\n customStyle={{backgroundColor: '#F1F6FE', color: '#0061FF'}}\n icon={{\n position: 'left',\n faIcon: {\n name: 'download',\n color: '#0061FF',\n size: 14,\n customStyle: {padding: 0}\n }\n }}\n disabled={isLocked}\n />\n );\n\n const LockedTag = (\n <Tag\n label=\"Locked\"\n size=\"S\"\n icon={{\n position: 'left',\n iconName: 'lock',\n iconColor: '#515161',\n preset: 's',\n customStyle: {padding: 0}\n }}\n />\n );\n\n return isTypeStars ? (\n <div className={style[`detailsSection${index}`]}>\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>{translate('bonus_stars')}</span>\n {isLocked ? LockedTag : null}\n </div>\n <div className={style.stars}>\n <Icon iconName=\"star\" iconColor=\"#FFCE0A\" backgroundColor=\"#FFF9D1\" preset=\"xl\" />\n <span>{stars}</span>\n </div>\n </div>\n </div>\n ) : (\n <div className={style[`detailsSection${index}`]}>\n <img\n className={style.img}\n src={\n badgeUrl ||\n 'https://s3.eu-west-1.amazonaws.com/static.coorpacademy.com/assets/images/diploma.svg'\n }\n />\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>\n {type === 'diploma' ? translate('diploma') : translate('badge')}\n </span>\n {isLocked ? LockedTag : null}\n </div>\n\n <div className={style.buttonContainer}>{DownloadButton}</div>\n </div>\n </div>\n );\n};\n\nconst ProgressWrapper = (\n {completedCourses, completedModules, title, subtitle, progression, sections},\n context\n) => {\n const {translate} = context;\n const modulesCompletedLocal = translate('modules_completed');\n const isLocked = progression !== 100;\n\n return (\n <div className={style.container}>\n <div className={style.titleContainer}>\n <Title type=\"form-group\" titleSize=\"medium\" title={title} subtitle={subtitle} />\n </div>\n <div className={style.statscontainer}>\n <div className={style.stats}>\n <div>\n <span className={style.statsNumber}>{completedCourses}</span>\n {lowerCase(translate('courses_completed'))}\n </div>\n <div className={style.divider} />\n <div className={style.statsModule}>\n <span className={style.statsNumber}>{completedModules}</span>\n {modulesCompletedLocal}\n </div>\n </div>\n <div className={style.progression}>\n <span className={style.statsNumber}>{progression}%</span>\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.positive}}\n displayInfo={false}\n value={progression}\n max={100}\n />\n <div className={style.statsMobile}>\n <div className={style.statsModuleMobile}>\n <span className={style.statsNumber}>{completedModules}</span>\n {modulesCompletedLocal}\n </div>\n <div className={style.statsProgressionMobile}>\n <span className={style.statsNumber}>{progression}%</span>\n </div>\n </div>\n\n {isEmpty(sections) ? null : (\n <div className={style.details}>\n {uncappedMap(\n ({type, stars, badgeUrl, onDownload}, index) => (\n <DetailSection\n {...{type, isLocked, badgeUrl, onDownload, stars}}\n key={`${type}-${index}`}\n index={index}\n />\n ),\n sections\n )}\n </div>\n )}\n </div>\n );\n};\n\nconst commonDetailSectionPropTypes = {\n type: PropTypes.oneOf(['diploma', 'badge', 'stars']),\n badgeUrl: PropTypes.string,\n onDownload: PropTypes.func,\n stars: PropTypes.number\n};\n\nDetailSection.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nDetailSection.propTypes = {\n index: PropTypes.number,\n isLocked: PropTypes.bool,\n ...commonDetailSectionPropTypes\n};\n\nProgressWrapper.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nProgressWrapper.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n completedCourses: PropTypes.number,\n completedModules: PropTypes.number,\n progression: PropTypes.number,\n sections: PropTypes.arrayOf(PropTypes.shape(commonDetailSectionPropTypes))\n};\n\nexport default ProgressWrapper;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","Title","ProgressBar","COLORS","Tag","ButtonLink","Icon","Provider","style","uncappedMap","convert","cap","DetailSection","index","type","isLocked","downloadUrl","stars","context","translate","isTypeStars","DownloadButton","target","href","backgroundColor","color","width","position","faIcon","name","size","customStyle","padding","LockedTag","iconName","iconColor","preset","detailsInfo","detailsInfoText","detailsTitle","img","buttonContainer","ProgressWrapper","completedModules","mandatoryModules","title","subtitle","progression","sections","mandatoryCompletedModulesLocale","container","titleContainer","statscontainer","stats","statsNumber","customProgressBar","positive","statsProgressionMobile","details","section","commonDetailSectionPropTypes","oneOf","string","number","contextTypes","childContextTypes","propTypes","bool","arrayOf","shape"],"sources":["../../../src/molecule/progress-wrapper/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty, map} from 'lodash/fp';\nimport Title from '../../atom/title';\nimport ProgressBar from '../progress-bar';\nimport {COLORS} from '../../variables/colors';\nimport Tag from '../../atom/tag';\nimport ButtonLink from '../../atom/button-link';\nimport Icon from '../../atom/icon';\nimport Provider from '../../atom/provider';\n// eslint-disable-next-line css-modules/no-unused-class\nimport style from './style.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst DetailSection = ({index, type, isLocked, downloadUrl, stars}, context) => {\n const {translate} = context;\n const isTypeStars = type === 'stars';\n\n const DownloadButton = (\n <ButtonLink\n label={translate('download')}\n link={{\n target: '_blank',\n href: downloadUrl\n }}\n data-name={`download-${type}-button`}\n aria-label={`download ${type} button`}\n customStyle={{backgroundColor: '#F1F6FE', color: '#0061FF', width: 'auto'}}\n icon={{\n position: 'left',\n faIcon: {\n name: 'download',\n color: '#0061FF',\n size: 14,\n customStyle: {padding: 0}\n }\n }}\n disabled={isLocked}\n />\n );\n\n const LockedTag = (\n <Tag\n label=\"Locked\"\n size=\"S\"\n icon={{\n position: 'left',\n iconName: 'lock',\n iconColor: '#515161',\n preset: 's',\n customStyle: {padding: 0}\n }}\n />\n );\n\n return isTypeStars ? (\n <div\n className={style[`detailsSection${index}`]}\n data-name={type}\n aria-label={`${type} informations`}\n >\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>{translate('bonus_stars')}</span>\n {isLocked ? LockedTag : null}\n </div>\n <div className={style.stars}>\n <Icon iconName=\"star\" iconColor=\"#FFCE0A\" backgroundColor=\"#FFF9D1\" preset=\"xl\" />\n <span>{stars}</span>\n </div>\n </div>\n </div>\n ) : (\n <div\n className={style[`detailsSection${index}`]}\n data-name={type}\n aria-label={`${type} informations`}\n >\n <img\n className={style.img}\n src={\n type === 'badge'\n ? downloadUrl\n : 'https://s3.eu-west-1.amazonaws.com/static.coorpacademy.com/assets/images/diploma.svg'\n }\n />\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>\n {type === 'diploma' ? translate('diploma') : translate('badge')}\n </span>\n {isLocked ? LockedTag : null}\n </div>\n\n <div className={style.buttonContainer}>{DownloadButton}</div>\n </div>\n </div>\n );\n};\n\nconst ProgressWrapper = (\n {completedModules, mandatoryModules, title, subtitle, progression, sections},\n context\n) => {\n const {translate} = context;\n const mandatoryCompletedModulesLocale = translate('modules_completed_mandatory');\n const isLocked = progression !== 100;\n\n return (\n <div\n className={style.container}\n data-name=\"prgress-wrapper\"\n aria-label=\"progress wrapper section\"\n >\n <div className={style.titleContainer}>\n <Title type=\"form-group\" titleSize=\"medium\" title={title} subtitle={subtitle} />\n </div>\n <div className={style.statscontainer}>\n <div className={style.stats}>\n <div>\n <span className={style.statsNumber} data-name=\"progress-stats\">\n {`${\n completedModules > mandatoryModules ? mandatoryModules : completedModules\n } / ${mandatoryModules}`}\n </span>\n {mandatoryCompletedModulesLocale}\n </div>\n </div>\n <div className={style.progression}>\n <span className={style.statsNumber} data-name=\"progress-value\">\n {progression}%\n </span>\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.positive}}\n displayInfo={false}\n value={progression}\n max={100}\n />\n <div className={style.statsProgressionMobile}>\n <span className={style.statsNumber}>{progression}%</span>\n </div>\n\n {isEmpty(sections) ? null : (\n <div className={style.details}>\n {uncappedMap(\n (section, index) => (\n <DetailSection\n {...section}\n isLocked={isLocked}\n key={`${section.type}-${index}`}\n index={index}\n />\n ),\n sections\n )}\n </div>\n )}\n </div>\n );\n};\n\nconst commonDetailSectionPropTypes = {\n type: PropTypes.oneOf(['diploma', 'badge', 'stars']),\n downloadUrl: PropTypes.string,\n stars: PropTypes.number\n};\n\nDetailSection.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nDetailSection.propTypes = {\n index: PropTypes.number,\n isLocked: PropTypes.bool,\n ...commonDetailSectionPropTypes\n};\n\nProgressWrapper.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nProgressWrapper.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n completedModules: PropTypes.number,\n mandatoryModules: PropTypes.number,\n progression: PropTypes.number,\n sections: PropTypes.arrayOf(PropTypes.shape(commonDetailSectionPropTypes))\n};\n\nexport default ProgressWrapper;\n"],"mappings":"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"}
@@ -41,14 +41,6 @@
41
41
  gap: 16px;
42
42
  }
43
43
 
44
- .divider {
45
- width: 4px;
46
- height: 4px;
47
- background-color: #d7d7da;
48
- border: solid #d7d7da 1px;
49
- border-radius: 4px;
50
- }
51
-
52
44
  .progression {
53
45
  display: flex;
54
46
  justify-content: end;
@@ -108,6 +100,7 @@
108
100
  }
109
101
 
110
102
  .detailsTitle {
103
+ width: max-content;
111
104
  font-family: Gilroy;
112
105
  font-size: 16px;
113
106
  font-weight: 600;
@@ -129,10 +122,6 @@
129
122
  font-weight: 700;
130
123
  }
131
124
 
132
- .statsMobile {
133
- display: none;
134
- }
135
-
136
125
  .statsModuleMobile {
137
126
  display: none;
138
127
  }
@@ -140,6 +129,9 @@
140
129
  .statsProgressionMobile {
141
130
  composes: progression;
142
131
  display: none;
132
+ color: cm_grey_400;
133
+ font-weight: 600;
134
+ padding-top: 16px;
143
135
  }
144
136
 
145
137
  @media mobile, tablet {
@@ -160,12 +152,6 @@
160
152
  justify-content: space-around;
161
153
  gap: 0;
162
154
  }
163
- .divider {
164
- display: none;
165
- }
166
- .statsModule {
167
- display: none;
168
- }
169
155
  .progression {
170
156
  display: none;
171
157
  }
@@ -175,11 +161,4 @@
175
161
  .statsModuleMobile {
176
162
  display: block;
177
163
  }
178
- .statsMobile {
179
- display: flex;
180
- justify-content: space-between;
181
- padding-top: 16px;
182
- color: cm_grey_400;
183
- font-weight: 600;
184
- }
185
164
  }
@@ -16,8 +16,10 @@ declare namespace SearchForm {
16
16
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
17
17
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
18
18
  theme: PropTypes.Requireable<string>;
19
+ dataTestId: PropTypes.Requireable<string>;
19
20
  }>>;
20
21
  'search-reset-aria-label': PropTypes.Requireable<string>;
22
+ dataTestId: PropTypes.Requireable<string>;
21
23
  };
22
24
  }
23
25
  import PropTypes from "prop-types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/search-form/index.js"],"names":[],"mappings":";AAOA,mEAyCC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/search-form/index.js"],"names":[],"mappings":";AAOA,mEA0CC"}
@@ -17,7 +17,8 @@ const SearchForm = (props, context) => {
17
17
  search,
18
18
  onSearchFocus,
19
19
  onSearchBlur,
20
- 'search-reset-aria-label': searchResetAriaLabel
20
+ 'search-reset-aria-label': searchResetAriaLabel,
21
+ dataTestId
21
22
  } = props;
22
23
  const handleSubmit = useMemo(() => evt => {
23
24
  evt.preventDefault();
@@ -38,7 +39,8 @@ const SearchForm = (props, context) => {
38
39
  "aria-label": search.placeholder
39
40
  }, /*#__PURE__*/React.createElement(Search, _extends({}, search, {
40
41
  onFocus: onSearchFocus,
41
- onBlur: onSearchBlur
42
+ onBlur: onSearchBlur,
43
+ dataTestId: dataTestId
42
44
  })), /*#__PURE__*/React.createElement("div", {
43
45
  "data-name": "search-form-reset",
44
46
  "aria-label": searchResetAriaLabel,
@@ -60,7 +62,8 @@ SearchForm.propTypes = process.env.NODE_ENV !== "production" ? {
60
62
  onSearchFocus: PropTypes.func,
61
63
  onSearchBlur: PropTypes.func,
62
64
  search: PropTypes.shape(Search.propTypes),
63
- 'search-reset-aria-label': PropTypes.string
65
+ 'search-reset-aria-label': PropTypes.string,
66
+ dataTestId: PropTypes.string
64
67
  } : {};
65
68
  export default SearchForm;
66
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","NovaCompositionNavigationMore","ClearIcon","Search","style","SearchForm","props","context","action","method","onSubmit","onReset","search","onSearchFocus","onSearchBlur","searchResetAriaLabel","handleSubmit","evt","preventDefault","skin","dark","form","placeholder","value","wrapperClear","wrapperNoClear","color","clear","propTypes","string","func","shape"],"sources":["../../../src/molecule/search-form/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationMore as ClearIcon} from '@coorpacademy/nova-icons';\nimport Search from '../../atom/input-search';\nimport style from './style.css';\n\nconst SearchForm = (props, context) => {\n const {\n action,\n method,\n onSubmit,\n onReset,\n search,\n onSearchFocus,\n onSearchBlur,\n 'search-reset-aria-label': searchResetAriaLabel\n } = props;\n const handleSubmit = useMemo(\n () => evt => {\n evt.preventDefault();\n return onSubmit && onSubmit(evt);\n },\n [onSubmit]\n );\n const {skin} = context;\n const dark = get('common.dark', skin);\n\n return (\n <form\n className={style.form}\n action={action}\n method={method}\n onSubmit={handleSubmit}\n data-name=\"searchForm\"\n aria-label={search.placeholder}\n >\n <Search {...search} onFocus={onSearchFocus} onBlur={onSearchBlur} />\n <div\n data-name=\"search-form-reset\"\n aria-label={searchResetAriaLabel}\n onClick={onReset}\n className={search.value ? style.wrapperClear : style.wrapperNoClear}\n >\n <ClearIcon style={{color: dark}} className={style.clear} />\n </div>\n </form>\n );\n};\n\nSearchForm.propTypes = {\n action: PropTypes.string,\n method: PropTypes.string,\n onSubmit: PropTypes.func,\n onReset: PropTypes.func,\n onSearchFocus: PropTypes.func,\n onSearchBlur: PropTypes.func,\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string\n};\n\nexport default SearchForm;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,6BAA6B,IAAIC,SAAzC,QAAyD,0BAAzD;AACA,OAAOC,MAAP,MAAmB,yBAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,UAAU,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACrC,MAAM;IACJC,MADI;IAEJC,MAFI;IAGJC,QAHI;IAIJC,OAJI;IAKJC,MALI;IAMJC,aANI;IAOJC,YAPI;IAQJ,2BAA2BC;EARvB,IASFT,KATJ;EAUA,MAAMU,YAAY,GAAGjB,OAAO,CAC1B,MAAMkB,GAAG,IAAI;IACXA,GAAG,CAACC,cAAJ;IACA,OAAOR,QAAQ,IAAIA,QAAQ,CAACO,GAAD,CAA3B;EACD,CAJyB,EAK1B,CAACP,QAAD,CAL0B,CAA5B;EAOA,MAAM;IAACS;EAAD,IAASZ,OAAf;;EACA,MAAMa,IAAI,GAAG,KAAI,aAAJ,EAAmBD,IAAnB,CAAb;;EAEA,oBACE;IACE,SAAS,EAAEf,KAAK,CAACiB,IADnB;IAEE,MAAM,EAAEb,MAFV;IAGE,MAAM,EAAEC,MAHV;IAIE,QAAQ,EAAEO,YAJZ;IAKE,aAAU,YALZ;IAME,cAAYJ,MAAM,CAACU;EANrB,gBAQE,oBAAC,MAAD,eAAYV,MAAZ;IAAoB,OAAO,EAAEC,aAA7B;IAA4C,MAAM,EAAEC;EAApD,GARF,eASE;IACE,aAAU,mBADZ;IAEE,cAAYC,oBAFd;IAGE,OAAO,EAAEJ,OAHX;IAIE,SAAS,EAAEC,MAAM,CAACW,KAAP,GAAenB,KAAK,CAACoB,YAArB,GAAoCpB,KAAK,CAACqB;EAJvD,gBAME,oBAAC,SAAD;IAAW,KAAK,EAAE;MAACC,KAAK,EAAEN;IAAR,CAAlB;IAAiC,SAAS,EAAEhB,KAAK,CAACuB;EAAlD,EANF,CATF,CADF;AAoBD,CAzCD;;AA2CAtB,UAAU,CAACuB,SAAX,2CAAuB;EACrBpB,MAAM,EAAER,SAAS,CAAC6B,MADG;EAErBpB,MAAM,EAAET,SAAS,CAAC6B,MAFG;EAGrBnB,QAAQ,EAAEV,SAAS,CAAC8B,IAHC;EAIrBnB,OAAO,EAAEX,SAAS,CAAC8B,IAJE;EAKrBjB,aAAa,EAAEb,SAAS,CAAC8B,IALJ;EAMrBhB,YAAY,EAAEd,SAAS,CAAC8B,IANH;EAOrBlB,MAAM,EAAEZ,SAAS,CAAC+B,KAAV,CAAgB5B,MAAM,CAACyB,SAAvB,CAPa;EAQrB,2BAA2B5B,SAAS,CAAC6B;AARhB,CAAvB;AAWA,eAAexB,UAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","NovaCompositionNavigationMore","ClearIcon","Search","style","SearchForm","props","context","action","method","onSubmit","onReset","search","onSearchFocus","onSearchBlur","searchResetAriaLabel","dataTestId","handleSubmit","evt","preventDefault","skin","dark","form","placeholder","value","wrapperClear","wrapperNoClear","color","clear","propTypes","string","func","shape"],"sources":["../../../src/molecule/search-form/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationMore as ClearIcon} from '@coorpacademy/nova-icons';\nimport Search from '../../atom/input-search';\nimport style from './style.css';\n\nconst SearchForm = (props, context) => {\n const {\n action,\n method,\n onSubmit,\n onReset,\n search,\n onSearchFocus,\n onSearchBlur,\n 'search-reset-aria-label': searchResetAriaLabel,\n dataTestId\n } = props;\n const handleSubmit = useMemo(\n () => evt => {\n evt.preventDefault();\n return onSubmit && onSubmit(evt);\n },\n [onSubmit]\n );\n const {skin} = context;\n const dark = get('common.dark', skin);\n\n return (\n <form\n className={style.form}\n action={action}\n method={method}\n onSubmit={handleSubmit}\n data-name=\"searchForm\"\n aria-label={search.placeholder}\n >\n <Search {...search} onFocus={onSearchFocus} onBlur={onSearchBlur} dataTestId={dataTestId} />\n <div\n data-name=\"search-form-reset\"\n aria-label={searchResetAriaLabel}\n onClick={onReset}\n className={search.value ? style.wrapperClear : style.wrapperNoClear}\n >\n <ClearIcon style={{color: dark}} className={style.clear} />\n </div>\n </form>\n );\n};\n\nSearchForm.propTypes = {\n action: PropTypes.string,\n method: PropTypes.string,\n onSubmit: PropTypes.func,\n onReset: PropTypes.func,\n onSearchFocus: PropTypes.func,\n onSearchBlur: PropTypes.func,\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n dataTestId: PropTypes.string\n};\n\nexport default SearchForm;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,6BAA6B,IAAIC,SAAzC,QAAyD,0BAAzD;AACA,OAAOC,MAAP,MAAmB,yBAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,UAAU,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACrC,MAAM;IACJC,MADI;IAEJC,MAFI;IAGJC,QAHI;IAIJC,OAJI;IAKJC,MALI;IAMJC,aANI;IAOJC,YAPI;IAQJ,2BAA2BC,oBARvB;IASJC;EATI,IAUFV,KAVJ;EAWA,MAAMW,YAAY,GAAGlB,OAAO,CAC1B,MAAMmB,GAAG,IAAI;IACXA,GAAG,CAACC,cAAJ;IACA,OAAOT,QAAQ,IAAIA,QAAQ,CAACQ,GAAD,CAA3B;EACD,CAJyB,EAK1B,CAACR,QAAD,CAL0B,CAA5B;EAOA,MAAM;IAACU;EAAD,IAASb,OAAf;;EACA,MAAMc,IAAI,GAAG,KAAI,aAAJ,EAAmBD,IAAnB,CAAb;;EAEA,oBACE;IACE,SAAS,EAAEhB,KAAK,CAACkB,IADnB;IAEE,MAAM,EAAEd,MAFV;IAGE,MAAM,EAAEC,MAHV;IAIE,QAAQ,EAAEQ,YAJZ;IAKE,aAAU,YALZ;IAME,cAAYL,MAAM,CAACW;EANrB,gBAQE,oBAAC,MAAD,eAAYX,MAAZ;IAAoB,OAAO,EAAEC,aAA7B;IAA4C,MAAM,EAAEC,YAApD;IAAkE,UAAU,EAAEE;EAA9E,GARF,eASE;IACE,aAAU,mBADZ;IAEE,cAAYD,oBAFd;IAGE,OAAO,EAAEJ,OAHX;IAIE,SAAS,EAAEC,MAAM,CAACY,KAAP,GAAepB,KAAK,CAACqB,YAArB,GAAoCrB,KAAK,CAACsB;EAJvD,gBAME,oBAAC,SAAD;IAAW,KAAK,EAAE;MAACC,KAAK,EAAEN;IAAR,CAAlB;IAAiC,SAAS,EAAEjB,KAAK,CAACwB;EAAlD,EANF,CATF,CADF;AAoBD,CA1CD;;AA4CAvB,UAAU,CAACwB,SAAX,2CAAuB;EACrBrB,MAAM,EAAER,SAAS,CAAC8B,MADG;EAErBrB,MAAM,EAAET,SAAS,CAAC8B,MAFG;EAGrBpB,QAAQ,EAAEV,SAAS,CAAC+B,IAHC;EAIrBpB,OAAO,EAAEX,SAAS,CAAC+B,IAJE;EAKrBlB,aAAa,EAAEb,SAAS,CAAC+B,IALJ;EAMrBjB,YAAY,EAAEd,SAAS,CAAC+B,IANH;EAOrBnB,MAAM,EAAEZ,SAAS,CAACgC,KAAV,CAAgB7B,MAAM,CAAC0B,SAAvB,CAPa;EAQrB,2BAA2B7B,SAAS,CAAC8B,MARhB;EASrBd,UAAU,EAAEhB,SAAS,CAAC8B;AATD,CAAvB;AAYA,eAAezB,UAAf"}
@@ -10,6 +10,7 @@ declare namespace BrandTable {
10
10
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
11
11
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
12
12
  theme: PropTypes.Requireable<string>;
13
+ dataTestId: PropTypes.Requireable<string>;
13
14
  }>>;
14
15
  const pagination: PropTypes.Requireable<PropTypes.InferProps<{
15
16
  value: PropTypes.Validator<string>;
@@ -18,6 +18,7 @@ declare class MoocHeader extends React.Component<any, any, any> {
18
18
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
19
19
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
20
20
  theme: PropTypes.Requireable<string>;
21
+ dataTestId: PropTypes.Requireable<string>;
21
22
  }>>;
22
23
  'search-reset-aria-label': PropTypes.Requireable<string>;
23
24
  onSubmitSearch: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAyBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAwBC;IAtBC;;;;;;MAMC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,6BAIE;IAEF,6BAIE;IAEF,6BAkdC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAyBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAwBC;IAtBC;;;;;;MAMC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,6BAIE;IAEF,6BAIE;IAEF,6BAkdC;CACF"}
@@ -185,6 +185,7 @@ declare namespace BrandUpdate {
185
185
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
186
186
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
187
187
  theme: PropTypes.Requireable<string>;
188
+ dataTestId: PropTypes.Requireable<string>;
188
189
  }>>;
189
190
  pagination: PropTypes.Requireable<PropTypes.InferProps<{
190
191
  value: PropTypes.Validator<string>;
@@ -1192,6 +1193,7 @@ declare namespace BrandUpdate {
1192
1193
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
1193
1194
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
1194
1195
  theme: PropTypes.Requireable<string>;
1196
+ dataTestId: PropTypes.Requireable<string>;
1195
1197
  }>>;
1196
1198
  pagination: PropTypes.Requireable<PropTypes.InferProps<{
1197
1199
  value: PropTypes.Validator<string>;