@coorpacademy/components 11.32.44 → 11.32.46

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 (155) hide show
  1. package/es/atom/button-link/index.d.ts.map +1 -1
  2. package/es/atom/button-link/index.js +12 -6
  3. package/es/atom/button-link/index.js.map +1 -1
  4. package/es/atom/button-link-icon/index.js +2 -2
  5. package/es/atom/button-link-icon/index.js.map +1 -1
  6. package/es/atom/input-file-draggable/index.js +2 -2
  7. package/es/atom/input-file-draggable/index.js.map +1 -1
  8. package/es/atom/input-switch/style.css +1 -0
  9. package/es/atom/link/index.d.ts +1 -1
  10. package/es/atom/link/index.d.ts.map +1 -1
  11. package/es/atom/link/index.js +33 -41
  12. package/es/atom/link/index.js.map +1 -1
  13. package/es/molecule/banner/index.js +3 -3
  14. package/es/molecule/banner/index.js.map +1 -1
  15. package/es/molecule/certification-card/index.d.ts +4 -0
  16. package/es/molecule/certification-card/index.d.ts.map +1 -1
  17. package/es/molecule/certification-card/index.js +14 -10
  18. package/es/molecule/certification-card/index.js.map +1 -1
  19. package/es/molecule/cm-popin/types.d.ts +1 -1
  20. package/es/molecule/progress-wrapper/index.d.ts.map +1 -1
  21. package/es/molecule/progress-wrapper/index.js +22 -12
  22. package/es/molecule/progress-wrapper/index.js.map +1 -1
  23. package/es/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
  24. package/es/organism/accordion/coorp-manager/part/index.js +3 -1
  25. package/es/organism/accordion/coorp-manager/part/index.js.map +1 -1
  26. package/es/organism/list-item/index.js +1 -1
  27. package/es/organism/list-item/index.js.map +1 -1
  28. package/es/organism/mooc-header/index.d.ts.map +1 -1
  29. package/es/organism/mooc-header/index.js +3 -3
  30. package/es/organism/mooc-header/index.js.map +1 -1
  31. package/es/organism/sidebar/index.d.ts +28 -3
  32. package/es/organism/sidebar/index.d.ts.map +1 -1
  33. package/es/organism/sidebar/index.js +7 -3
  34. package/es/organism/sidebar/index.js.map +1 -1
  35. package/es/template/app-player/loading/index.d.ts +1 -1
  36. package/es/template/app-player/player/index.d.ts +2 -2
  37. package/es/template/app-player/player/slides/index.d.ts +1 -1
  38. package/es/template/app-player/popin-correction/index.d.ts +3 -3
  39. package/es/template/app-player/popin-end/index.d.ts +2 -2
  40. package/es/template/app-player/popin-end/summary.d.ts +1 -1
  41. package/es/template/app-player/popin-header/index.d.ts +1 -1
  42. package/es/template/app-review/index.d.ts +1 -1
  43. package/es/template/app-review/player/prop-types.d.ts +1 -1
  44. package/es/template/app-review/prop-types.d.ts +1 -1
  45. package/es/template/back-office/brand-update/index.d.ts +1 -1
  46. package/es/template/certification-detail/index.d.ts +1 -0
  47. package/es/template/certification-detail/index.d.ts.map +1 -1
  48. package/es/template/certification-detail/index.js +3 -1
  49. package/es/template/certification-detail/index.js.map +1 -1
  50. package/es/template/certifications/index.d.ts +9 -0
  51. package/es/template/certifications/index.d.ts.map +1 -1
  52. package/es/template/certifications/index.js +34 -12
  53. package/es/template/certifications/index.js.map +1 -1
  54. package/es/template/common/dashboard/index.d.ts +2 -2
  55. package/es/template/common/search-page/index.d.ts +1 -1
  56. package/es/template/external-course/index.d.ts +1 -1
  57. package/es/template/skill-detail/index.d.ts +1 -1
  58. package/es/template/skill-detail/index.d.ts.map +1 -1
  59. package/es/template/skill-detail/index.js +5 -5
  60. package/es/template/skill-detail/index.js.map +1 -1
  61. package/es/variables/colors.d.ts +2 -0
  62. package/es/variables/colors.d.ts.map +1 -1
  63. package/es/variables/colors.js +3 -1
  64. package/es/variables/colors.js.map +1 -1
  65. package/lib/atom/button-link/index.d.ts.map +1 -1
  66. package/lib/atom/button-link/index.js +12 -6
  67. package/lib/atom/button-link/index.js.map +1 -1
  68. package/lib/atom/button-link-icon/index.js +2 -2
  69. package/lib/atom/button-link-icon/index.js.map +1 -1
  70. package/lib/atom/input-file-draggable/index.js.map +1 -1
  71. package/lib/atom/input-switch/style.css +1 -0
  72. package/lib/atom/link/index.d.ts +1 -1
  73. package/lib/atom/link/index.d.ts.map +1 -1
  74. package/lib/atom/link/index.js +33 -42
  75. package/lib/atom/link/index.js.map +1 -1
  76. package/lib/molecule/banner/index.js.map +1 -1
  77. package/lib/molecule/certification-card/index.d.ts +4 -0
  78. package/lib/molecule/certification-card/index.d.ts.map +1 -1
  79. package/lib/molecule/certification-card/index.js +14 -10
  80. package/lib/molecule/certification-card/index.js.map +1 -1
  81. package/lib/molecule/cm-popin/types.d.ts +1 -1
  82. package/lib/molecule/progress-wrapper/index.d.ts.map +1 -1
  83. package/lib/molecule/progress-wrapper/index.js +26 -13
  84. package/lib/molecule/progress-wrapper/index.js.map +1 -1
  85. package/lib/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
  86. package/lib/organism/accordion/coorp-manager/part/index.js +5 -1
  87. package/lib/organism/accordion/coorp-manager/part/index.js.map +1 -1
  88. package/lib/organism/list-item/index.js +2 -2
  89. package/lib/organism/list-item/index.js.map +1 -1
  90. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  91. package/lib/organism/mooc-header/index.js +4 -3
  92. package/lib/organism/mooc-header/index.js.map +1 -1
  93. package/lib/organism/sidebar/index.d.ts +28 -3
  94. package/lib/organism/sidebar/index.d.ts.map +1 -1
  95. package/lib/organism/sidebar/index.js +7 -3
  96. package/lib/organism/sidebar/index.js.map +1 -1
  97. package/lib/template/app-player/loading/index.d.ts +1 -1
  98. package/lib/template/app-player/player/index.d.ts +2 -2
  99. package/lib/template/app-player/player/slides/index.d.ts +1 -1
  100. package/lib/template/app-player/popin-correction/index.d.ts +3 -3
  101. package/lib/template/app-player/popin-end/index.d.ts +2 -2
  102. package/lib/template/app-player/popin-end/summary.d.ts +1 -1
  103. package/lib/template/app-player/popin-header/index.d.ts +1 -1
  104. package/lib/template/app-review/index.d.ts +1 -1
  105. package/lib/template/app-review/player/prop-types.d.ts +1 -1
  106. package/lib/template/app-review/prop-types.d.ts +1 -1
  107. package/lib/template/back-office/brand-update/index.d.ts +1 -1
  108. package/lib/template/certification-detail/index.d.ts +1 -0
  109. package/lib/template/certification-detail/index.d.ts.map +1 -1
  110. package/lib/template/certification-detail/index.js +3 -1
  111. package/lib/template/certification-detail/index.js.map +1 -1
  112. package/lib/template/certifications/index.d.ts +9 -0
  113. package/lib/template/certifications/index.d.ts.map +1 -1
  114. package/lib/template/certifications/index.js +36 -14
  115. package/lib/template/certifications/index.js.map +1 -1
  116. package/lib/template/common/dashboard/index.d.ts +2 -2
  117. package/lib/template/common/search-page/index.d.ts +1 -1
  118. package/lib/template/external-course/index.d.ts +1 -1
  119. package/lib/template/skill-detail/index.d.ts +1 -1
  120. package/lib/template/skill-detail/index.d.ts.map +1 -1
  121. package/lib/template/skill-detail/index.js +5 -5
  122. package/lib/template/skill-detail/index.js.map +1 -1
  123. package/lib/variables/colors.d.ts +2 -0
  124. package/lib/variables/colors.d.ts.map +1 -1
  125. package/lib/variables/colors.js +3 -1
  126. package/lib/variables/colors.js.map +1 -1
  127. package/locales/bs/global.json +1 -1
  128. package/locales/cs/global.json +1 -1
  129. package/locales/de/global.json +1 -1
  130. package/locales/en/global.json +1 -1
  131. package/locales/es/global.json +1 -1
  132. package/locales/et/global.json +1 -1
  133. package/locales/fi/global.json +1 -1
  134. package/locales/fr/global.json +1 -1
  135. package/locales/hr/global.json +1 -1
  136. package/locales/hu/global.json +1 -1
  137. package/locales/hy/global.json +1 -1
  138. package/locales/it/global.json +1 -1
  139. package/locales/ja/global.json +1 -1
  140. package/locales/ko/global.json +1 -1
  141. package/locales/nl/global.json +1 -1
  142. package/locales/pl/global.json +1 -1
  143. package/locales/pt/global.json +1 -1
  144. package/locales/ro/global.json +1 -1
  145. package/locales/ru/global.json +1 -1
  146. package/locales/sk/global.json +1 -1
  147. package/locales/sl/global.json +1 -1
  148. package/locales/sv/global.json +1 -1
  149. package/locales/tl/global.json +1 -1
  150. package/locales/tr/global.json +1 -1
  151. package/locales/uk/global.json +1 -1
  152. package/locales/vi/global.json +1 -1
  153. package/locales/zh/global.json +1 -1
  154. package/locales/zh_TW/global.json +1 -1
  155. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/index.tsx"],"names":[],"mappings":";AAMA,OAAkB,EAAC,eAAe,EAAW,MAAM,SAAS,CAAC;AAgD7D,QAAA,MAAM,UAAU;YAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CA8FzC,CAAC;AAIF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/index.tsx"],"names":[],"mappings":";AAMA,OAAkB,EAAC,eAAe,EAAW,MAAM,SAAS,CAAC;AAoD7D,QAAA,MAAM,UAAU;YAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAoGzC,CAAC;AAIF,eAAe,UAAU,CAAC"}
@@ -20,7 +20,6 @@ const getButtonContent = (icon, content, hovered, hoverBackgroundColor, hoverCol
20
20
  position: ''
21
21
  };
22
22
  const Icon = type && ICONS[type];
23
- const isApplyHover = hovered && hoverBackgroundColor && hoverColor;
24
23
 
25
24
  if (!Icon && !faIcon) {
26
25
  return /*#__PURE__*/React.createElement("div", {
@@ -32,8 +31,9 @@ const getButtonContent = (icon, content, hovered, hoverBackgroundColor, hoverCol
32
31
 
33
32
  const iconComponent = faIcon ? /*#__PURE__*/React.createElement(FaIcon, {
34
33
  iconName: faIcon.name,
35
- iconColor: isApplyHover ? hoverColor : faIcon.color,
36
- backgroundColor: isApplyHover ? hoverBackgroundColor : faIcon.backgroundColor,
34
+ iconColor: hovered && hoverColor ? hoverColor : faIcon.color,
35
+ // eslint-disable-next-line no-nested-ternary
36
+ backgroundColor: !faIcon?.backgroundColor ? 'transparent' : hovered && hoverBackgroundColor ? hoverBackgroundColor : faIcon.backgroundColor,
37
37
  size: {
38
38
  faSize: faIcon.size,
39
39
  wrapperSize: faIcon.size
@@ -74,7 +74,9 @@ const ButtonLink = props => {
74
74
  const [hovered, setHovered] = useState(false);
75
75
  const handleOnClick = useCallback(event => onClick(event), [onClick]);
76
76
  const handleOnKeyDown = useCallback(event => onKeyDown(event), [onKeyDown]);
77
- const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);
77
+ const handleMouseOver = useCallback(() => {
78
+ setHovered(true);
79
+ }, [setHovered]);
78
80
  const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);
79
81
 
80
82
  const _customStyle = useMemo(() => {
@@ -92,8 +94,12 @@ const ButtonLink = props => {
92
94
  className: styleButton,
93
95
  "data-name": dataName,
94
96
  "data-testid": dataTestId,
95
- "aria-label": ariaLabel || label
96
- }), getButtonContent(icon, content ?? label));
97
+ "aria-label": ariaLabel || label,
98
+ hoverColor: hoverColor,
99
+ hoverBackgroundColor: hoverBackgroundColor,
100
+ onMouseEnter: handleMouseOver,
101
+ onMouseLeave: handleMouseLeave
102
+ }), getButtonContent(icon, content ?? label, hovered, hoverBackgroundColor, hoverColor));
97
103
  }
98
104
 
99
105
  return /*#__PURE__*/React.createElement("button", _extends({}, useTitle && {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","classnames","Link","FaIcon","ICONS","propTypes","style","getButtonContent","icon","content","hovered","hoverBackgroundColor","hoverColor","type","faIcon","position","Icon","isApplyHover","buttonContent","label","iconComponent","iconName","name","iconColor","color","backgroundColor","size","faSize","wrapperSize","customStyle","ButtonLink","props","usage","disabled","dataName","dataTestId","ariaLabel","link","onClick","onKeyDown","className","useTitle","styleButton","button","primary","secondary","tertiary","text","dangerous","setHovered","handleOnClick","event","handleOnKeyDown","handleMouseOver","handleMouseLeave","_customStyle","title"],"sources":["../../../src/atom/button-link/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport {noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Link from '../link';\nimport FaIcon from '../icon';\nimport {ICONS} from '../../util/button-icons';\nimport propTypes, {ButtonLinkProps, IconType} from './types';\nimport style from './style.css';\n\nconst getButtonContent = (\n icon?: IconType,\n content?: string | React.ReactNode,\n hovered?: boolean,\n hoverBackgroundColor?: string,\n hoverColor?: string\n) => {\n const {type, faIcon, position} = icon || {type: '', position: ''};\n const Icon = type && ICONS[type];\n const isApplyHover = hovered && hoverBackgroundColor && hoverColor;\n\n if (!Icon && !faIcon) {\n return (\n <div className={style.buttonContent}>\n <span className={style.label}>{content}</span>\n </div>\n );\n }\n\n const iconComponent = faIcon ? (\n <FaIcon\n {...{\n iconName: faIcon.name,\n iconColor: isApplyHover ? hoverColor : faIcon.color,\n backgroundColor: isApplyHover ? hoverBackgroundColor : faIcon.backgroundColor,\n size: {\n faSize: faIcon.size,\n wrapperSize: faIcon.size\n },\n customStyle: faIcon.customStyle\n }}\n />\n ) : (\n <Icon className={style.icon} theme=\"coorpmanager\" />\n );\n\n return (\n <div className={style.buttonContent}>\n {position === 'left' ? iconComponent : null}\n {content ? <span className={style.label}>{content}</span> : null}\n {position === 'right' ? iconComponent : null}\n </div>\n );\n};\n\nconst ButtonLink = (props: ButtonLinkProps) => {\n const {\n type,\n usage = 'button',\n label,\n content,\n hoverBackgroundColor,\n hoverColor,\n disabled = false,\n icon,\n 'data-name': dataName,\n 'data-testid': dataTestId = 'button-link',\n 'aria-label': ariaLabel,\n link,\n onClick = noop,\n onKeyDown = noop,\n className,\n customStyle,\n useTitle = true\n } = props;\n const styleButton = classnames(\n className,\n style.button,\n type === 'primary' && style.primary,\n type === 'secondary' && style.secondary,\n type === 'tertiary' && style.tertiary,\n type === 'text' && style.text,\n type === 'dangerous' && style.dangerous,\n link && style.link,\n disabled && style.disabled\n );\n\n const [hovered, setHovered] = useState(false);\n\n const handleOnClick = useCallback(event => onClick(event), [onClick]);\n\n const handleOnKeyDown = useCallback(event => onKeyDown(event), [onKeyDown]);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const _customStyle = useMemo(() => {\n return {\n ...customStyle,\n ...((hoverBackgroundColor || hoverColor) && hovered\n ? {\n backgroundColor: hoverBackgroundColor,\n color: hoverColor\n }\n : null)\n };\n }, [hoverBackgroundColor, hoverColor, hovered, customStyle]);\n\n if (link) {\n return (\n <Link\n {...link}\n {...(useTitle && {\n title: ariaLabel || label\n })}\n style={customStyle}\n className={styleButton}\n data-name={dataName}\n data-testid={dataTestId}\n aria-label={ariaLabel || label}\n >\n {getButtonContent(icon, content ?? label)}\n </Link>\n );\n }\n\n return (\n <button\n {...(useTitle && {\n title: ariaLabel || label\n })}\n // eslint-disable-next-line react/button-has-type\n type={usage}\n aria-label={ariaLabel || label}\n data-name={dataName}\n data-testid={dataTestId}\n style={_customStyle}\n className={styleButton}\n onClick={handleOnClick}\n onKeyDown={handleOnKeyDown}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n tabIndex={0}\n disabled={disabled}\n >\n {getButtonContent(icon, content ?? label, hovered, hoverBackgroundColor, hoverColor)}\n </button>\n );\n};\n\nButtonLink.propTypes = propTypes;\n\nexport default ButtonLink;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","classnames","Link","FaIcon","ICONS","propTypes","style","getButtonContent","icon","content","hovered","hoverBackgroundColor","hoverColor","type","faIcon","position","Icon","buttonContent","label","iconComponent","iconName","name","iconColor","color","backgroundColor","size","faSize","wrapperSize","customStyle","ButtonLink","props","usage","disabled","dataName","dataTestId","ariaLabel","link","onClick","onKeyDown","className","useTitle","styleButton","button","primary","secondary","tertiary","text","dangerous","setHovered","handleOnClick","event","handleOnKeyDown","handleMouseOver","handleMouseLeave","_customStyle","title"],"sources":["../../../src/atom/button-link/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport {noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Link from '../link';\nimport FaIcon from '../icon';\nimport {ICONS} from '../../util/button-icons';\nimport propTypes, {ButtonLinkProps, IconType} from './types';\nimport style from './style.css';\n\nconst getButtonContent = (\n icon?: IconType,\n content?: string | React.ReactNode,\n hovered?: boolean,\n hoverBackgroundColor?: string,\n hoverColor?: string\n) => {\n const {type, faIcon, position} = icon || {type: '', position: ''};\n const Icon = type && ICONS[type];\n\n if (!Icon && !faIcon) {\n return (\n <div className={style.buttonContent}>\n <span className={style.label}>{content}</span>\n </div>\n );\n }\n\n const iconComponent = faIcon ? (\n <FaIcon\n {...{\n iconName: faIcon.name,\n iconColor: hovered && hoverColor ? hoverColor : faIcon.color,\n // eslint-disable-next-line no-nested-ternary\n backgroundColor: !faIcon?.backgroundColor\n ? 'transparent'\n : hovered && hoverBackgroundColor\n ? hoverBackgroundColor\n : faIcon.backgroundColor,\n size: {\n faSize: faIcon.size,\n wrapperSize: faIcon.size\n },\n customStyle: faIcon.customStyle\n }}\n />\n ) : (\n <Icon className={style.icon} theme=\"coorpmanager\" />\n );\n\n return (\n <div className={style.buttonContent}>\n {position === 'left' ? iconComponent : null}\n {content ? <span className={style.label}>{content}</span> : null}\n {position === 'right' ? iconComponent : null}\n </div>\n );\n};\n\nconst ButtonLink = (props: ButtonLinkProps) => {\n const {\n type,\n usage = 'button',\n label,\n content,\n hoverBackgroundColor,\n hoverColor,\n disabled = false,\n icon,\n 'data-name': dataName,\n 'data-testid': dataTestId = 'button-link',\n 'aria-label': ariaLabel,\n link,\n onClick = noop,\n onKeyDown = noop,\n className,\n customStyle,\n useTitle = true\n } = props;\n const styleButton = classnames(\n className,\n style.button,\n type === 'primary' && style.primary,\n type === 'secondary' && style.secondary,\n type === 'tertiary' && style.tertiary,\n type === 'text' && style.text,\n type === 'dangerous' && style.dangerous,\n link && style.link,\n disabled && style.disabled\n );\n\n const [hovered, setHovered] = useState(false);\n\n const handleOnClick = useCallback(event => onClick(event), [onClick]);\n\n const handleOnKeyDown = useCallback(event => onKeyDown(event), [onKeyDown]);\n\n const handleMouseOver = useCallback(() => {\n setHovered(true);\n }, [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const _customStyle = useMemo(() => {\n return {\n ...customStyle,\n ...((hoverBackgroundColor || hoverColor) && hovered\n ? {\n backgroundColor: hoverBackgroundColor,\n color: hoverColor\n }\n : null)\n };\n }, [hoverBackgroundColor, hoverColor, hovered, customStyle]);\n\n if (link) {\n return (\n <Link\n {...link}\n {...(useTitle && {\n title: ariaLabel || label\n })}\n style={customStyle}\n className={styleButton}\n data-name={dataName}\n data-testid={dataTestId}\n aria-label={ariaLabel || label}\n hoverColor={hoverColor}\n hoverBackgroundColor={hoverBackgroundColor}\n onMouseEnter={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n >\n {getButtonContent(icon, content ?? label, hovered, hoverBackgroundColor, hoverColor)}\n </Link>\n );\n }\n\n return (\n <button\n {...(useTitle && {\n title: ariaLabel || label\n })}\n // eslint-disable-next-line react/button-has-type\n type={usage}\n aria-label={ariaLabel || label}\n data-name={dataName}\n data-testid={dataTestId}\n style={_customStyle}\n className={styleButton}\n onClick={handleOnClick}\n onKeyDown={handleOnKeyDown}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n tabIndex={0}\n disabled={disabled}\n >\n {getButtonContent(icon, content ?? label, hovered, hoverBackgroundColor, hoverColor)}\n </button>\n );\n};\n\nButtonLink.propTypes = propTypes;\n\nexport default ButtonLink;\n"],"mappings":"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"}
@@ -83,8 +83,8 @@ const ButtonLinkIcon = props => {
83
83
  className: styleButton,
84
84
  "data-name": dataName,
85
85
  "aria-label": ariaLabel,
86
- onMouseLeave: handleMouseLeave,
87
- onMouseOver: handleMouseOver
86
+ onMouseEnter: handleMouseOver,
87
+ onMouseLeave: handleMouseLeave
88
88
  }), contentView) : /*#__PURE__*/React.createElement("button", _extends({}, ariaLabel ? {
89
89
  'data-for': 'button-icon',
90
90
  'data-tip': toolTipIsVisible
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useCallback","useRef","PropTypes","classnames","ICONS","FaIcon","Link","ToolTip","style","getButtonContent","icon","faIcon","Icon","buttonContent","getSizeStyle","size","small","responsive","default","ButtonLinkIcon","props","disabled","dataName","ariaLabel","link","onClick","className","tooltipPlacement","toolTipIsVisible","setToolTipIsVisible","timer","contentView","styleButton","handleOnClick","handleMouseOver","current","clearTimeout","setTimeout","undefined","handleMouseLeave","TooltipContent","tooltipContentWrapper","Button","propTypes","oneOf","string","func","shape","href","download","bool","target"],"sources":["../../../src/atom/button-link-icon/index.js"],"sourcesContent":["import React, {useState, useCallback, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, keys} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {ICONS} from '../../util/button-icons';\nimport FaIcon from '../icon';\nimport Link from '../link';\nimport ToolTip from '../tooltip';\n// eslint-disable-next-line css-modules/no-unused-class\nimport style from './style.css';\n\nconst getButtonContent = (icon, faIcon) => {\n const Icon = getOr(null, icon, ICONS);\n\n if (!Icon && !faIcon) {\n return <div className={style.buttonContent} />;\n }\n\n return (\n <div className={style.buttonContent}>\n {faIcon ? <FaIcon iconName={faIcon} /> : <Icon className={style.icon} />}\n </div>\n );\n};\n\nconst getSizeStyle = size => {\n switch (size) {\n case 'small':\n return style.small;\n case 'responsive':\n return style.responsive;\n default:\n return style.default;\n }\n};\n\nconst ButtonLinkIcon = props => {\n const {\n size = 'default',\n disabled,\n icon,\n faIcon,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n link,\n onClick,\n className,\n tooltipPlacement = 'left'\n } = props;\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n const timer = useRef();\n\n const contentView = getButtonContent(icon, faIcon);\n const styleButton = classnames(\n getSizeStyle(size),\n link && style.link,\n disabled && style.disabled,\n className\n );\n\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n\n const handleMouseOver = useCallback(() => {\n timer.current && clearTimeout(timer.current);\n timer.current = setTimeout(() => {\n setToolTipIsVisible(true);\n timer.current = undefined;\n }, 300);\n }, [timer, setToolTipIsVisible]);\n\n const handleMouseLeave = useCallback(() => {\n timer.current && clearTimeout(timer.current);\n setToolTipIsVisible(false);\n }, [timer, setToolTipIsVisible]);\n\n const TooltipContent = useCallback(\n () => <span className={style.tooltipContentWrapper}>{ariaLabel}</span>,\n [ariaLabel]\n );\n\n const Button = useCallback(\n () =>\n link ? (\n <Link\n {...link}\n {...(ariaLabel\n ? {\n 'data-for': 'button-icon',\n 'data-tip': toolTipIsVisible\n }\n : {})}\n className={styleButton}\n data-name={dataName}\n aria-label={ariaLabel}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n >\n {contentView}\n </Link>\n ) : (\n <button\n {...(ariaLabel\n ? {\n 'data-for': 'button-icon',\n 'data-tip': toolTipIsVisible\n }\n : {})}\n type=\"button\"\n aria-label={ariaLabel}\n data-name={dataName}\n data-testid={`button-${dataName}-${className}`}\n className={styleButton}\n onClick={handleOnClick}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n disabled={disabled}\n >\n {contentView}\n </button>\n ),\n [\n link,\n ariaLabel,\n className,\n contentView,\n dataName,\n disabled,\n handleMouseLeave,\n handleMouseOver,\n handleOnClick,\n styleButton,\n toolTipIsVisible\n ]\n );\n\n return (\n <>\n <Button />\n {ariaLabel ? (\n <ToolTip\n fontSize={12}\n anchorId=\"button-icon\"\n toolTipIsVisible={toolTipIsVisible}\n placement={tooltipPlacement}\n TooltipContent={TooltipContent}\n closeToolTipInformationTextAriaLabel={ariaLabel}\n />\n ) : null}\n </>\n );\n};\n\nButtonLinkIcon.propTypes = {\n size: PropTypes.oneOf(['default', 'small', 'responsive']),\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n icon: PropTypes.oneOf(keys(ICONS)),\n faIcon: PropTypes.string,\n onClick: PropTypes.func,\n link: PropTypes.shape({\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])\n }),\n disabled: PropTypes.bool,\n className: PropTypes.string,\n tooltipPlacement: PropTypes.oneOf(['left', 'right', 'top', 'bottom'])\n};\n\nexport default ButtonLinkIcon;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useCallback","useRef","PropTypes","classnames","ICONS","FaIcon","Link","ToolTip","style","getButtonContent","icon","faIcon","Icon","buttonContent","getSizeStyle","size","small","responsive","default","ButtonLinkIcon","props","disabled","dataName","ariaLabel","link","onClick","className","tooltipPlacement","toolTipIsVisible","setToolTipIsVisible","timer","contentView","styleButton","handleOnClick","handleMouseOver","current","clearTimeout","setTimeout","undefined","handleMouseLeave","TooltipContent","tooltipContentWrapper","Button","propTypes","oneOf","string","func","shape","href","download","bool","target"],"sources":["../../../src/atom/button-link-icon/index.js"],"sourcesContent":["import React, {useState, useCallback, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, keys} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {ICONS} from '../../util/button-icons';\nimport FaIcon from '../icon';\nimport Link from '../link';\nimport ToolTip from '../tooltip';\n// eslint-disable-next-line css-modules/no-unused-class\nimport style from './style.css';\n\nconst getButtonContent = (icon, faIcon) => {\n const Icon = getOr(null, icon, ICONS);\n\n if (!Icon && !faIcon) {\n return <div className={style.buttonContent} />;\n }\n\n return (\n <div className={style.buttonContent}>\n {faIcon ? <FaIcon iconName={faIcon} /> : <Icon className={style.icon} />}\n </div>\n );\n};\n\nconst getSizeStyle = size => {\n switch (size) {\n case 'small':\n return style.small;\n case 'responsive':\n return style.responsive;\n default:\n return style.default;\n }\n};\n\nconst ButtonLinkIcon = props => {\n const {\n size = 'default',\n disabled,\n icon,\n faIcon,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n link,\n onClick,\n className,\n tooltipPlacement = 'left'\n } = props;\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n const timer = useRef();\n\n const contentView = getButtonContent(icon, faIcon);\n const styleButton = classnames(\n getSizeStyle(size),\n link && style.link,\n disabled && style.disabled,\n className\n );\n\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n\n const handleMouseOver = useCallback(() => {\n timer.current && clearTimeout(timer.current);\n timer.current = setTimeout(() => {\n setToolTipIsVisible(true);\n timer.current = undefined;\n }, 300);\n }, [timer, setToolTipIsVisible]);\n\n const handleMouseLeave = useCallback(() => {\n timer.current && clearTimeout(timer.current);\n setToolTipIsVisible(false);\n }, [timer, setToolTipIsVisible]);\n\n const TooltipContent = useCallback(\n () => <span className={style.tooltipContentWrapper}>{ariaLabel}</span>,\n [ariaLabel]\n );\n\n const Button = useCallback(\n () =>\n link ? (\n <Link\n {...link}\n {...(ariaLabel\n ? {\n 'data-for': 'button-icon',\n 'data-tip': toolTipIsVisible\n }\n : {})}\n className={styleButton}\n data-name={dataName}\n aria-label={ariaLabel}\n onMouseEnter={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n >\n {contentView}\n </Link>\n ) : (\n <button\n {...(ariaLabel\n ? {\n 'data-for': 'button-icon',\n 'data-tip': toolTipIsVisible\n }\n : {})}\n type=\"button\"\n aria-label={ariaLabel}\n data-name={dataName}\n data-testid={`button-${dataName}-${className}`}\n className={styleButton}\n onClick={handleOnClick}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n disabled={disabled}\n >\n {contentView}\n </button>\n ),\n [\n link,\n ariaLabel,\n className,\n contentView,\n dataName,\n disabled,\n handleMouseLeave,\n handleMouseOver,\n handleOnClick,\n styleButton,\n toolTipIsVisible\n ]\n );\n\n return (\n <>\n <Button />\n {ariaLabel ? (\n <ToolTip\n fontSize={12}\n anchorId=\"button-icon\"\n toolTipIsVisible={toolTipIsVisible}\n placement={tooltipPlacement}\n TooltipContent={TooltipContent}\n closeToolTipInformationTextAriaLabel={ariaLabel}\n />\n ) : null}\n </>\n );\n};\n\nButtonLinkIcon.propTypes = {\n size: PropTypes.oneOf(['default', 'small', 'responsive']),\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n icon: PropTypes.oneOf(keys(ICONS)),\n faIcon: PropTypes.string,\n onClick: PropTypes.func,\n link: PropTypes.shape({\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])\n }),\n disabled: PropTypes.bool,\n className: PropTypes.string,\n tooltipPlacement: PropTypes.oneOf(['left', 'right', 'top', 'bottom'])\n};\n\nexport default ButtonLinkIcon;\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ import React, { useCallback } from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import { NovaSolidFilesBasicFileLines as FileLinesIcon, NovaCompositionCoorpacademyEye as EyeIcon } from '@coorpacademy/nova-icons';
8
8
  import DragAndDrop from '../drag-and-drop';
9
- import Link from '../button-link';
9
+ import ButtonLink from '../button-link';
10
10
  import { FilesPropType } from '../../util/proptypes';
11
11
  import style from './style.css';
12
12
 
@@ -83,7 +83,7 @@ const InputFileDraggable = ({
83
83
  required: required
84
84
  }))), labelLink && hrefLink ? /*#__PURE__*/React.createElement("div", {
85
85
  className: style.templateLink
86
- }, labelLink, /*#__PURE__*/React.createElement(Link, {
86
+ }, labelLink, /*#__PURE__*/React.createElement(ButtonLink, {
87
87
  type: "text",
88
88
  customStyle: linkCustomStyle,
89
89
  link: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","PropTypes","NovaSolidFilesBasicFileLines","FileLinesIcon","NovaCompositionCoorpacademyEye","EyeIcon","DragAndDrop","Link","FilesPropType","style","InputFileDraggable","title","description","previewLabel","previewContent","uploadLabel","loading","modified","disabled","disableHoverTooltip","onChange","onReset","name","labelLink","labelButtonLink","hrefLink","filesTypes","error","buttonAriaLabel","errorButtonLabel","pdfButtonLabel","pdfButtonAriaLabel","filesNumber","multiple","required","onClick","handleReset","e","preventDefault","linkCustomStyle","width","color","onClick_","onDragStart","onDragStop","input","templateLink","href","download","multipleFilesContainer","icon","seeDetailsButton","seeIcon","propTypes","bool","string","func"],"sources":["../../../src/atom/input-file-draggable/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {isNil} from 'lodash/fp';\nimport {\n NovaSolidFilesBasicFileLines as FileLinesIcon,\n NovaCompositionCoorpacademyEye as EyeIcon\n} from '@coorpacademy/nova-icons';\nimport DragAndDrop from '../drag-and-drop';\nimport Link from '../button-link';\nimport {FilesPropType} from '../../util/proptypes';\nimport style from './style.css';\n\nconst InputFileDraggable = ({\n title,\n description,\n previewLabel,\n previewContent,\n uploadLabel,\n loading,\n modified,\n disabled = false,\n disableHoverTooltip = false,\n onChange,\n onReset = null,\n name,\n labelLink,\n labelButtonLink,\n hrefLink,\n filesTypes = '',\n error = '',\n buttonAriaLabel,\n errorButtonLabel,\n pdfButtonLabel,\n pdfButtonAriaLabel,\n filesNumber = 0,\n multiple = false,\n required = false,\n onClick\n}) => {\n const handleReset = useCallback(\n e => {\n if (isNil(onReset)) return;\n e.preventDefault();\n return onReset(e);\n },\n [onReset]\n );\n\n const linkCustomStyle = {\n width: '40px',\n color: '#FF541F'\n };\n\n const onClick_ = useCallback(\n e => {\n e.preventDefault();\n return onClick(e);\n },\n [onClick]\n );\n\n return (\n <>\n <DragAndDrop\n title={title}\n description={description}\n previewLabel={previewLabel}\n previewContent={previewContent}\n uploadLabel={uploadLabel}\n loading={loading}\n modified={modified}\n onReset={handleReset}\n error={error}\n disabled={disabled}\n disableHoverTooltip={disableHoverTooltip}\n buttonAriaLabel={buttonAriaLabel}\n errorButtonLabel={errorButtonLabel}\n pdfButtonLabel={pdfButtonLabel}\n pdfButtonAriaLabel={pdfButtonAriaLabel}\n multiple={multiple}\n >\n {(onDragStart, onDragStop) => (\n <input\n {...(disableHoverTooltip ? {title: ''} : {})}\n type=\"file\"\n name={name}\n accept={filesTypes}\n disabled={loading || disabled}\n className={style.input}\n onChange={onChange}\n onDragEnter={onDragStart}\n onDrop={onDragStop}\n onDragLeave={onDragStop}\n multiple={multiple}\n required={required}\n />\n )}\n </DragAndDrop>\n {labelLink && hrefLink ? (\n <div className={style.templateLink}>\n {labelLink}\n <Link\n type=\"text\"\n customStyle={linkCustomStyle}\n link={{href: hrefLink, download: true}}\n label={labelButtonLink}\n />\n </div>\n ) : null}\n {multiple && filesNumber > 0 ? (\n <div className={style.multipleFilesContainer}>\n <div className={style.filesNumber}>\n <FileLinesIcon className={style.icon} />\n <div>{filesNumber} files</div>\n </div>\n <div className={style.seeDetailsButton} onClick={onClick_}>\n <EyeIcon className={style.seeIcon} />\n <div>See details</div>\n </div>\n </div>\n ) : null}\n </>\n );\n};\n\nInputFileDraggable.propTypes = {\n ...DragAndDrop.propTypes,\n disableHoverTooltip: PropTypes.bool,\n name: PropTypes.string,\n onChange: PropTypes.func,\n onReset: PropTypes.func,\n filesTypes: FilesPropType,\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string,\n labelLink: PropTypes.string,\n hrefLink: PropTypes.string\n};\n\nexport default InputFileDraggable;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","PropTypes","NovaSolidFilesBasicFileLines","FileLinesIcon","NovaCompositionCoorpacademyEye","EyeIcon","DragAndDrop","ButtonLink","FilesPropType","style","InputFileDraggable","title","description","previewLabel","previewContent","uploadLabel","loading","modified","disabled","disableHoverTooltip","onChange","onReset","name","labelLink","labelButtonLink","hrefLink","filesTypes","error","buttonAriaLabel","errorButtonLabel","pdfButtonLabel","pdfButtonAriaLabel","filesNumber","multiple","required","onClick","handleReset","e","preventDefault","linkCustomStyle","width","color","onClick_","onDragStart","onDragStop","input","templateLink","href","download","multipleFilesContainer","icon","seeDetailsButton","seeIcon","propTypes","bool","string","func"],"sources":["../../../src/atom/input-file-draggable/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {isNil} from 'lodash/fp';\nimport {\n NovaSolidFilesBasicFileLines as FileLinesIcon,\n NovaCompositionCoorpacademyEye as EyeIcon\n} from '@coorpacademy/nova-icons';\nimport DragAndDrop from '../drag-and-drop';\nimport ButtonLink from '../button-link';\nimport {FilesPropType} from '../../util/proptypes';\nimport style from './style.css';\n\nconst InputFileDraggable = ({\n title,\n description,\n previewLabel,\n previewContent,\n uploadLabel,\n loading,\n modified,\n disabled = false,\n disableHoverTooltip = false,\n onChange,\n onReset = null,\n name,\n labelLink,\n labelButtonLink,\n hrefLink,\n filesTypes = '',\n error = '',\n buttonAriaLabel,\n errorButtonLabel,\n pdfButtonLabel,\n pdfButtonAriaLabel,\n filesNumber = 0,\n multiple = false,\n required = false,\n onClick\n}) => {\n const handleReset = useCallback(\n e => {\n if (isNil(onReset)) return;\n e.preventDefault();\n return onReset(e);\n },\n [onReset]\n );\n\n const linkCustomStyle = {\n width: '40px',\n color: '#FF541F'\n };\n\n const onClick_ = useCallback(\n e => {\n e.preventDefault();\n return onClick(e);\n },\n [onClick]\n );\n\n return (\n <>\n <DragAndDrop\n title={title}\n description={description}\n previewLabel={previewLabel}\n previewContent={previewContent}\n uploadLabel={uploadLabel}\n loading={loading}\n modified={modified}\n onReset={handleReset}\n error={error}\n disabled={disabled}\n disableHoverTooltip={disableHoverTooltip}\n buttonAriaLabel={buttonAriaLabel}\n errorButtonLabel={errorButtonLabel}\n pdfButtonLabel={pdfButtonLabel}\n pdfButtonAriaLabel={pdfButtonAriaLabel}\n multiple={multiple}\n >\n {(onDragStart, onDragStop) => (\n <input\n {...(disableHoverTooltip ? {title: ''} : {})}\n type=\"file\"\n name={name}\n accept={filesTypes}\n disabled={loading || disabled}\n className={style.input}\n onChange={onChange}\n onDragEnter={onDragStart}\n onDrop={onDragStop}\n onDragLeave={onDragStop}\n multiple={multiple}\n required={required}\n />\n )}\n </DragAndDrop>\n {labelLink && hrefLink ? (\n <div className={style.templateLink}>\n {labelLink}\n <ButtonLink\n type=\"text\"\n customStyle={linkCustomStyle}\n link={{href: hrefLink, download: true}}\n label={labelButtonLink}\n />\n </div>\n ) : null}\n {multiple && filesNumber > 0 ? (\n <div className={style.multipleFilesContainer}>\n <div className={style.filesNumber}>\n <FileLinesIcon className={style.icon} />\n <div>{filesNumber} files</div>\n </div>\n <div className={style.seeDetailsButton} onClick={onClick_}>\n <EyeIcon className={style.seeIcon} />\n <div>See details</div>\n </div>\n </div>\n ) : null}\n </>\n );\n};\n\nInputFileDraggable.propTypes = {\n ...DragAndDrop.propTypes,\n disableHoverTooltip: PropTypes.bool,\n name: PropTypes.string,\n onChange: PropTypes.func,\n onReset: PropTypes.func,\n filesTypes: FilesPropType,\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string,\n labelLink: PropTypes.string,\n hrefLink: PropTypes.string\n};\n\nexport default InputFileDraggable;\n"],"mappings":"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"}
@@ -99,6 +99,7 @@
99
99
  font-family: "Gilroy";
100
100
  font-size: 15px;
101
101
  text-transform: none;
102
+ width: 180px;
102
103
  color: dark;
103
104
  margin-right: 20px;
104
105
  display: flex;
@@ -9,8 +9,8 @@ declare namespace Link {
9
9
  'aria-label': PropTypes.Requireable<string>;
10
10
  title: PropTypes.Requireable<string>;
11
11
  target: PropTypes.Requireable<string>;
12
- skinHover: PropTypes.Requireable<boolean>;
13
12
  hoverColor: PropTypes.Requireable<string>;
13
+ hoverBackgroundColor: PropTypes.Requireable<string>;
14
14
  download: PropTypes.Requireable<boolean>;
15
15
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
16
16
  onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/link/index.js"],"names":[],"mappings":";AAMA,mEA6GC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/link/index.js"],"names":[],"mappings":";AAMA,mEAwEC"}
@@ -1,7 +1,6 @@
1
1
  import _noop from "lodash/fp/noop";
2
- import _getOr from "lodash/fp/getOr";
3
2
  import _identity from "lodash/fp/identity";
4
- const _excluded = ["skinHover", "hoverColor", "data-name", "aria-label", "useButtonTag"];
3
+ const _excluded = ["hoverColor", "hoverBackgroundColor", "data-name", "useButtonTag", "href", "onClick", "style", "children", "onMouseEnter", "onMouseLeave", "download", "disabled"];
5
4
 
6
5
  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); }
7
6
 
@@ -9,11 +8,10 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
9
8
 
10
9
  import React, { useCallback, useMemo, useState } from 'react';
11
10
  import PropTypes from 'prop-types';
12
- import Provider, { GetSkinFromContext } from '../provider';
11
+ import Provider from '../provider';
13
12
  import pushToHistory from '../../util/navigation';
14
13
 
15
14
  const Link = (props, legacyContext) => {
16
- const skin = GetSkinFromContext(legacyContext);
17
15
  const [hovered, setHovered] = useState(false);
18
16
  const {
19
17
  history: {
@@ -22,25 +20,24 @@ const Link = (props, legacyContext) => {
22
20
  } = legacyContext;
23
21
 
24
22
  const {
25
- skinHover,
26
- hoverColor = _getOr('#00B0FF', 'common.primary', skin),
23
+ hoverColor,
24
+ hoverBackgroundColor,
27
25
  'data-name': dataName = 'link',
28
- 'aria-label': ariaLabel,
29
- useButtonTag = false
30
- } = props,
31
- linKElementProps = _objectWithoutPropertiesLoose(props, _excluded);
32
-
33
- const {
26
+ useButtonTag = false,
34
27
  href,
35
28
  onClick = _noop,
36
- className,
37
- style: propsStyle,
29
+ style: customStyle,
38
30
  children,
39
- onMouseLeave = _noop,
40
31
  onMouseEnter = _noop,
32
+ onMouseLeave = _noop,
41
33
  download,
42
34
  disabled
43
- } = props;
35
+ } = props,
36
+ restProps = _objectWithoutPropertiesLoose(props, _excluded);
37
+
38
+ const navigate = useMemo(() => pushToHistory(legacyContext)({
39
+ href
40
+ }), [href, legacyContext]);
44
41
  const handleMouseEnter = useCallback(() => {
45
42
  setHovered(true);
46
43
  onMouseEnter();
@@ -49,39 +46,34 @@ const Link = (props, legacyContext) => {
49
46
  setHovered(false);
50
47
  onMouseLeave();
51
48
  }, [onMouseLeave]);
52
- const navigate = useMemo(() => pushToHistory(legacyContext)({
53
- href
54
- }), [href, legacyContext]);
55
49
  const handleOnClick = useCallback(e => {
56
50
  onClick(e);
57
-
58
- if (!download) {
59
- navigate(e);
60
- }
51
+ if (!download) navigate(e);
61
52
  }, [download, navigate, onClick]);
62
53
 
63
- const _style = useMemo(() => href || onClick ? null : {
64
- pointerEvents: 'none'
65
- }, [href, onClick]);
66
-
67
- const _hoverStyle = useMemo(() => skinHover && hovered ? {
54
+ const style = _extends({}, customStyle, hovered && hoverBackgroundColor ? {
55
+ backgroundColor: hoverBackgroundColor
56
+ } : undefined, hovered && hoverColor ? {
68
57
  color: hoverColor
69
- } : null, [hoverColor, hovered, skinHover]);
58
+ } : undefined, href || onClick ? null : {
59
+ pointerEvents: 'none'
60
+ });
70
61
 
71
- const _props = useMemo(() => _extends({}, linKElementProps, {
72
- 'data-name': dataName,
73
- 'aria-label': ariaLabel,
62
+ return useButtonTag ? /*#__PURE__*/React.createElement("button", _extends({}, restProps, {
63
+ "data-name": dataName,
64
+ type: "button",
65
+ onClick: disabled ? _noop : handleOnClick,
66
+ style: style,
67
+ onMouseEnter: handleMouseEnter,
68
+ onMouseLeave: handleMouseLeave
69
+ }), children) : /*#__PURE__*/React.createElement("a", _extends({}, restProps, {
70
+ "data-name": dataName,
74
71
  href: disabled || !href ? undefined : createHref(href),
75
72
  onClick: disabled ? _noop : handleOnClick,
73
+ style: style,
76
74
  onMouseEnter: handleMouseEnter,
77
- onMouseLeave: handleMouseLeave,
78
- className,
79
- style: _extends({}, propsStyle, _style, _hoverStyle)
80
- }), [_hoverStyle, _style, ariaLabel, className, dataName, handleMouseEnter, handleMouseLeave, handleOnClick, href, disabled, createHref, linKElementProps, propsStyle]);
81
-
82
- return useButtonTag ? /*#__PURE__*/React.createElement("button", _extends({}, _props, {
83
- type: "button"
84
- }), children) : /*#__PURE__*/React.createElement("a", _props, children);
75
+ onMouseLeave: handleMouseLeave
76
+ }), children);
85
77
  };
86
78
 
87
79
  Link.propTypes = process.env.NODE_ENV !== "production" ? {
@@ -92,8 +84,8 @@ Link.propTypes = process.env.NODE_ENV !== "production" ? {
92
84
  'aria-label': PropTypes.string,
93
85
  title: PropTypes.string,
94
86
  target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),
95
- skinHover: PropTypes.bool,
96
87
  hoverColor: PropTypes.string,
88
+ hoverBackgroundColor: PropTypes.string,
97
89
  download: PropTypes.bool,
98
90
  onClick: PropTypes.func,
99
91
  onMouseEnter: PropTypes.func,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useMemo","useState","PropTypes","Provider","GetSkinFromContext","pushToHistory","Link","props","legacyContext","skin","hovered","setHovered","history","createHref","skinHover","hoverColor","dataName","ariaLabel","useButtonTag","linKElementProps","href","onClick","className","style","propsStyle","children","onMouseLeave","onMouseEnter","download","disabled","handleMouseEnter","handleMouseLeave","navigate","handleOnClick","e","_style","pointerEvents","_hoverStyle","color","_props","undefined","propTypes","node","string","title","target","oneOf","bool","func","shape","contextTypes","childContextTypes"],"sources":["../../../src/atom/link/index.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {identity, getOr, noop} from 'lodash/fp';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport pushToHistory from '../../util/navigation';\n\nconst Link = (props, legacyContext) => {\n const skin = GetSkinFromContext(legacyContext);\n const [hovered, setHovered] = useState(false);\n const {history: {createHref = identity} = {}} = legacyContext;\n const {\n skinHover,\n hoverColor = getOr('#00B0FF', 'common.primary', skin),\n 'data-name': dataName = 'link',\n 'aria-label': ariaLabel,\n useButtonTag = false,\n ...linKElementProps\n } = props;\n const {\n href,\n onClick = noop,\n className,\n style: propsStyle,\n children,\n onMouseLeave = noop,\n onMouseEnter = noop,\n download,\n disabled\n } = props;\n\n const handleMouseEnter = useCallback(() => {\n setHovered(true);\n\n onMouseEnter();\n }, [onMouseEnter]);\n\n const handleMouseLeave = useCallback(() => {\n setHovered(false);\n\n onMouseLeave();\n }, [onMouseLeave]);\n\n const navigate = useMemo(() => pushToHistory(legacyContext)({href}), [href, legacyContext]);\n\n const handleOnClick = useCallback(\n e => {\n onClick(e);\n\n if (!download) {\n navigate(e);\n }\n },\n [download, navigate, onClick]\n );\n\n const _style = useMemo(\n () =>\n href || onClick\n ? null\n : {\n pointerEvents: 'none'\n },\n [href, onClick]\n );\n\n const _hoverStyle = useMemo(\n () =>\n skinHover && hovered\n ? {\n color: hoverColor\n }\n : null,\n [hoverColor, hovered, skinHover]\n );\n\n const _props = useMemo(\n () => ({\n ...linKElementProps,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n href: disabled || !href ? undefined : createHref(href),\n onClick: disabled ? noop : handleOnClick,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n className,\n style: {\n ...propsStyle,\n ..._style,\n ..._hoverStyle\n }\n }),\n [\n _hoverStyle,\n _style,\n ariaLabel,\n className,\n dataName,\n handleMouseEnter,\n handleMouseLeave,\n handleOnClick,\n href,\n disabled,\n createHref,\n linKElementProps,\n propsStyle\n ]\n );\n\n return useButtonTag ? (\n <button {..._props} type=\"button\">\n {children}\n </button>\n ) : (\n <a {..._props}>{children}</a>\n );\n};\n\nLink.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n href: PropTypes.string,\n 'data-name': PropTypes.string,\n 'aria-label': PropTypes.string,\n title: PropTypes.string,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n skinHover: PropTypes.bool,\n hoverColor: PropTypes.string,\n download: PropTypes.bool,\n onClick: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n useButtonTag: PropTypes.bool,\n style: PropTypes.shape({}),\n disabled: PropTypes.bool\n};\n\nLink.contextTypes = {\n skin: Provider.childContextTypes.skin,\n history: Provider.childContextTypes.history\n};\n\nexport default Link;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useMemo","useState","PropTypes","Provider","pushToHistory","Link","props","legacyContext","hovered","setHovered","history","createHref","hoverColor","hoverBackgroundColor","dataName","useButtonTag","href","onClick","style","customStyle","children","onMouseEnter","onMouseLeave","download","disabled","restProps","navigate","handleMouseEnter","handleMouseLeave","handleOnClick","e","backgroundColor","undefined","color","pointerEvents","propTypes","node","className","string","title","target","oneOf","bool","func","shape","contextTypes","skin","childContextTypes"],"sources":["../../../src/atom/link/index.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {identity, noop} from 'lodash/fp';\nimport Provider from '../provider';\nimport pushToHistory from '../../util/navigation';\n\nconst Link = (props, legacyContext) => {\n const [hovered, setHovered] = useState(false);\n const {history: {createHref = identity} = {}} = legacyContext;\n\n const {\n hoverColor,\n hoverBackgroundColor,\n 'data-name': dataName = 'link',\n useButtonTag = false,\n href,\n onClick = noop,\n style: customStyle,\n children,\n onMouseEnter = noop,\n onMouseLeave = noop,\n download,\n disabled,\n ...restProps\n } = props;\n\n const navigate = useMemo(() => pushToHistory(legacyContext)({href}), [href, legacyContext]);\n\n const handleMouseEnter = useCallback(() => {\n setHovered(true);\n onMouseEnter();\n }, [onMouseEnter]);\n\n const handleMouseLeave = useCallback(() => {\n setHovered(false);\n onMouseLeave();\n }, [onMouseLeave]);\n\n const handleOnClick = useCallback(\n e => {\n onClick(e);\n if (!download) navigate(e);\n },\n [download, navigate, onClick]\n );\n\n const style = {\n ...customStyle,\n ...(hovered && hoverBackgroundColor ? {backgroundColor: hoverBackgroundColor} : undefined),\n ...(hovered && hoverColor ? {color: hoverColor} : undefined),\n ...(href || onClick ? null : {pointerEvents: 'none'})\n };\n\n return useButtonTag ? (\n <button\n {...restProps}\n data-name={dataName}\n type=\"button\"\n onClick={disabled ? noop : handleOnClick}\n style={style}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {children}\n </button>\n ) : (\n <a\n {...restProps}\n data-name={dataName}\n href={disabled || !href ? undefined : createHref(href)}\n onClick={disabled ? noop : handleOnClick}\n style={style}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {children}\n </a>\n );\n};\n\nLink.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n href: PropTypes.string,\n 'data-name': PropTypes.string,\n 'aria-label': PropTypes.string,\n title: PropTypes.string,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n hoverColor: PropTypes.string,\n hoverBackgroundColor: PropTypes.string,\n download: PropTypes.bool,\n onClick: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n useButtonTag: PropTypes.bool,\n style: PropTypes.shape({}),\n disabled: PropTypes.bool\n};\n\nLink.contextTypes = {\n skin: Provider.childContextTypes.skin,\n history: Provider.childContextTypes.history\n};\n\nexport default Link;\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classnames from 'classnames';
5
5
  import { NovaSolidInterfaceFeedbackInterfaceAlertDiamond as QuestionIcon, NovaCompositionCoorpacademyValidate as ValidateIcon } from '@coorpacademy/nova-icons';
6
- import Link from '../../atom/button-link';
6
+ import ButtonLink from '../../atom/button-link';
7
7
  import style from './style.css';
8
8
  const ICONS = {
9
9
  success: ValidateIcon,
@@ -41,7 +41,7 @@ const Banner = props => {
41
41
  className: classnames(style.icon, temporary && style.temporaryIcon)
42
42
  }), message), firstCTALabel ? /*#__PURE__*/React.createElement("div", {
43
43
  className: classnames(style.button, STYLES[type])
44
- }, /*#__PURE__*/React.createElement(Link, {
44
+ }, /*#__PURE__*/React.createElement(ButtonLink, {
45
45
  "data-name": "first-banner-cta",
46
46
  "aria-label": firstCTALabel,
47
47
  label: firstCTALabel,
@@ -51,7 +51,7 @@ const Banner = props => {
51
51
  className: classnames(style.buttonsBar, STYLES[type])
52
52
  }) : null, secondCTALabel ? /*#__PURE__*/React.createElement("div", {
53
53
  className: classnames(style.button, STYLES[type])
54
- }, /*#__PURE__*/React.createElement(Link, {
54
+ }, /*#__PURE__*/React.createElement(ButtonLink, {
55
55
  "data-name": "second-banner-cta",
56
56
  onClick: secondCTA,
57
57
  "aria-label": secondCTALabel,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","QuestionIcon","NovaCompositionCoorpacademyValidate","ValidateIcon","Link","style","ICONS","success","error","warning","STYLES","Banner","props","type","message","firstCTA","firstCTALabel","secondCTALabel","secondCTA","temporary","bannerKey","onEnd","Icon","banner","temporaryBanner","icon","temporaryIcon","button","buttonsBar","propTypes","string","oneOf","isRequired","func","bool"],"sources":["../../../src/molecule/banner/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {keys} from 'lodash/fp';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as QuestionIcon,\n NovaCompositionCoorpacademyValidate as ValidateIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/button-link';\nimport style from './style.css';\n\nconst ICONS = {\n success: ValidateIcon,\n error: QuestionIcon,\n warning: QuestionIcon\n};\n\nconst STYLES = {\n success: style.success,\n error: style.error,\n warning: style.warning\n};\n\nconst Banner = props => {\n const {\n type,\n message,\n firstCTA,\n firstCTALabel,\n secondCTALabel,\n secondCTA,\n temporary,\n bannerKey,\n onEnd\n } = props;\n const Icon = ICONS[type];\n return (\n <div\n key={bannerKey}\n className={classnames(style.banner, STYLES[type], temporary && style.temporaryBanner)}\n onAnimationEnd={onEnd}\n title={message}\n >\n <div data-name={`${type}-banner-message`} className={style.message}>\n <Icon className={classnames(style.icon, temporary && style.temporaryIcon)} />\n {message}\n </div>\n {firstCTALabel ? (\n <div className={classnames(style.button, STYLES[type])}>\n <Link\n data-name=\"first-banner-cta\"\n aria-label={firstCTALabel}\n label={firstCTALabel}\n onClick={firstCTA}\n type=\"text\"\n />\n </div>\n ) : null}\n {firstCTALabel && secondCTALabel ? (\n <div className={classnames(style.buttonsBar, STYLES[type])} />\n ) : null}\n {secondCTALabel ? (\n <div className={classnames(style.button, STYLES[type])}>\n <Link\n data-name=\"second-banner-cta\"\n onClick={secondCTA}\n aria-label={secondCTALabel}\n label={secondCTALabel}\n type=\"text\"\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nBanner.propTypes = {\n bannerKey: PropTypes.string,\n type: PropTypes.oneOf(keys(ICONS)),\n message: PropTypes.string.isRequired,\n firstCTA: PropTypes.func,\n firstCTALabel: PropTypes.string,\n secondCTALabel: PropTypes.string,\n secondCTA: PropTypes.func,\n temporary: PropTypes.bool,\n onEnd: PropTypes.func\n};\n\nexport default Banner;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","QuestionIcon","NovaCompositionCoorpacademyValidate","ValidateIcon","ButtonLink","style","ICONS","success","error","warning","STYLES","Banner","props","type","message","firstCTA","firstCTALabel","secondCTALabel","secondCTA","temporary","bannerKey","onEnd","Icon","banner","temporaryBanner","icon","temporaryIcon","button","buttonsBar","propTypes","string","oneOf","isRequired","func","bool"],"sources":["../../../src/molecule/banner/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {keys} from 'lodash/fp';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as QuestionIcon,\n NovaCompositionCoorpacademyValidate as ValidateIcon\n} from '@coorpacademy/nova-icons';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\n\nconst ICONS = {\n success: ValidateIcon,\n error: QuestionIcon,\n warning: QuestionIcon\n};\n\nconst STYLES = {\n success: style.success,\n error: style.error,\n warning: style.warning\n};\n\nconst Banner = props => {\n const {\n type,\n message,\n firstCTA,\n firstCTALabel,\n secondCTALabel,\n secondCTA,\n temporary,\n bannerKey,\n onEnd\n } = props;\n const Icon = ICONS[type];\n return (\n <div\n key={bannerKey}\n className={classnames(style.banner, STYLES[type], temporary && style.temporaryBanner)}\n onAnimationEnd={onEnd}\n title={message}\n >\n <div data-name={`${type}-banner-message`} className={style.message}>\n <Icon className={classnames(style.icon, temporary && style.temporaryIcon)} />\n {message}\n </div>\n {firstCTALabel ? (\n <div className={classnames(style.button, STYLES[type])}>\n <ButtonLink\n data-name=\"first-banner-cta\"\n aria-label={firstCTALabel}\n label={firstCTALabel}\n onClick={firstCTA}\n type=\"text\"\n />\n </div>\n ) : null}\n {firstCTALabel && secondCTALabel ? (\n <div className={classnames(style.buttonsBar, STYLES[type])} />\n ) : null}\n {secondCTALabel ? (\n <div className={classnames(style.button, STYLES[type])}>\n <ButtonLink\n data-name=\"second-banner-cta\"\n onClick={secondCTA}\n aria-label={secondCTALabel}\n label={secondCTALabel}\n type=\"text\"\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nBanner.propTypes = {\n bannerKey: PropTypes.string,\n type: PropTypes.oneOf(keys(ICONS)),\n message: PropTypes.string.isRequired,\n firstCTA: PropTypes.func,\n firstCTALabel: PropTypes.string,\n secondCTALabel: PropTypes.string,\n secondCTA: PropTypes.func,\n temporary: PropTypes.bool,\n onEnd: PropTypes.func\n};\n\nexport default Banner;\n"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,+CAA+C,IAAIC,YADrD,EAEEC,mCAAmC,IAAIC,YAFzC,QAGO,0BAHP;AAIA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,KAAK,GAAG;EACZC,OAAO,EAAEJ,YADG;EAEZK,KAAK,EAAEP,YAFK;EAGZQ,OAAO,EAAER;AAHG,CAAd;AAMA,MAAMS,MAAM,GAAG;EACbH,OAAO,EAAEF,KAAK,CAACE,OADF;EAEbC,KAAK,EAAEH,KAAK,CAACG,KAFA;EAGbC,OAAO,EAAEJ,KAAK,CAACI;AAHF,CAAf;;AAMA,MAAME,MAAM,GAAGC,KAAK,IAAI;EACtB,MAAM;IACJC,IADI;IAEJC,OAFI;IAGJC,QAHI;IAIJC,aAJI;IAKJC,cALI;IAMJC,SANI;IAOJC,SAPI;IAQJC,SARI;IASJC;EATI,IAUFT,KAVJ;EAWA,MAAMU,IAAI,GAAGhB,KAAK,CAACO,IAAD,CAAlB;EACA,oBACE;IACE,GAAG,EAAEO,SADP;IAEE,SAAS,EAAErB,UAAU,CAACM,KAAK,CAACkB,MAAP,EAAeb,MAAM,CAACG,IAAD,CAArB,EAA6BM,SAAS,IAAId,KAAK,CAACmB,eAAhD,CAFvB;IAGE,cAAc,EAAEH,KAHlB;IAIE,KAAK,EAAEP;EAJT,gBAME;IAAK,aAAY,GAAED,IAAK,iBAAxB;IAA0C,SAAS,EAAER,KAAK,CAACS;EAA3D,gBACE,oBAAC,IAAD;IAAM,SAAS,EAAEf,UAAU,CAACM,KAAK,CAACoB,IAAP,EAAaN,SAAS,IAAId,KAAK,CAACqB,aAAhC;EAA3B,EADF,EAEGZ,OAFH,CANF,EAUGE,aAAa,gBACZ;IAAK,SAAS,EAAEjB,UAAU,CAACM,KAAK,CAACsB,MAAP,EAAejB,MAAM,CAACG,IAAD,CAArB;EAA1B,gBACE,oBAAC,UAAD;IACE,aAAU,kBADZ;IAEE,cAAYG,aAFd;IAGE,KAAK,EAAEA,aAHT;IAIE,OAAO,EAAED,QAJX;IAKE,IAAI,EAAC;EALP,EADF,CADY,GAUV,IApBN,EAqBGC,aAAa,IAAIC,cAAjB,gBACC;IAAK,SAAS,EAAElB,UAAU,CAACM,KAAK,CAACuB,UAAP,EAAmBlB,MAAM,CAACG,IAAD,CAAzB;EAA1B,EADD,GAEG,IAvBN,EAwBGI,cAAc,gBACb;IAAK,SAAS,EAAElB,UAAU,CAACM,KAAK,CAACsB,MAAP,EAAejB,MAAM,CAACG,IAAD,CAArB;EAA1B,gBACE,oBAAC,UAAD;IACE,aAAU,mBADZ;IAEE,OAAO,EAAEK,SAFX;IAGE,cAAYD,cAHd;IAIE,KAAK,EAAEA,cAJT;IAKE,IAAI,EAAC;EALP,EADF,CADa,GAUX,IAlCN,CADF;AAsCD,CAnDD;;AAqDAN,MAAM,CAACkB,SAAP,2CAAmB;EACjBT,SAAS,EAAEtB,SAAS,CAACgC,MADJ;EAEjBjB,IAAI,EAAEf,SAAS,CAACiC,KAAV,CAAgB,MAAKzB,KAAL,CAAhB,CAFW;EAGjBQ,OAAO,EAAEhB,SAAS,CAACgC,MAAV,CAAiBE,UAHT;EAIjBjB,QAAQ,EAAEjB,SAAS,CAACmC,IAJH;EAKjBjB,aAAa,EAAElB,SAAS,CAACgC,MALR;EAMjBb,cAAc,EAAEnB,SAAS,CAACgC,MANT;EAOjBZ,SAAS,EAAEpB,SAAS,CAACmC,IAPJ;EAQjBd,SAAS,EAAErB,SAAS,CAACoC,IARJ;EASjBb,KAAK,EAAEvB,SAAS,CAACmC;AATA,CAAnB;AAYA,eAAetB,MAAf"}
@@ -15,6 +15,10 @@ declare namespace CertificationCard {
15
15
  const progress: PropTypes.Requireable<number>;
16
16
  const imgUrl: PropTypes.Requireable<string>;
17
17
  const onClick: PropTypes.Requireable<(...args: any[]) => any>;
18
+ const locales: PropTypes.Requireable<PropTypes.InferProps<{
19
+ conditionDescriptionProgress: PropTypes.Requireable<string>;
20
+ tag: PropTypes.Requireable<string>;
21
+ }>>;
18
22
  }
19
23
  }
20
24
  import PropTypes from "prop-types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/certification-card/index.js"],"names":[],"mappings":";AAQA,0EA0DC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/certification-card/index.js"],"names":[],"mappings":";AAQA,0EA2DC"}
@@ -9,17 +9,17 @@ import style from './style.css';
9
9
  const CertificationCard = (props, context) => {
10
10
  const {
11
11
  label,
12
- goal,
12
+ locales: {
13
+ conditionDescriptionProgress,
14
+ tag
15
+ },
16
+ goal: {
17
+ title
18
+ },
13
19
  progress,
14
20
  imgUrl,
15
21
  onClick
16
22
  } = props;
17
- const {
18
- title,
19
- condition: {
20
- nbDone
21
- }
22
- } = goal;
23
23
  const {
24
24
  translate
25
25
  } = context;
@@ -63,14 +63,14 @@ const CertificationCard = (props, context) => {
63
63
  }, /*#__PURE__*/React.createElement("div", {
64
64
  className: style.titleWrapper
65
65
  }, /*#__PURE__*/React.createElement(Tag, {
66
- label: translate('certification'),
66
+ label: tag,
67
67
  size: "S"
68
68
  }), /*#__PURE__*/React.createElement("div", {
69
69
  className: style.title,
70
70
  "data-name": "certification-title"
71
71
  }, title), /*#__PURE__*/React.createElement("div", {
72
72
  className: style.moduleCount
73
- }, /*#__PURE__*/React.createElement("span", null, nbDone), ` ${translate('certification_module')}`)), /*#__PURE__*/React.createElement(ProgressBar, {
73
+ }, conditionDescriptionProgress)), /*#__PURE__*/React.createElement(ProgressBar, {
74
74
  className: style.customProgressBar,
75
75
  style: {
76
76
  backgroundColor: COLORS.positive
@@ -94,7 +94,11 @@ CertificationCard.propTypes = process.env.NODE_ENV !== "production" ? {
94
94
  }),
95
95
  progress: PropTypes.number,
96
96
  imgUrl: PropTypes.string,
97
- onClick: PropTypes.func
97
+ onClick: PropTypes.func,
98
+ locales: PropTypes.shape({
99
+ conditionDescriptionProgress: PropTypes.string,
100
+ tag: PropTypes.string
101
+ })
98
102
  } : {};
99
103
  export default CertificationCard;
100
104
  //# sourceMappingURL=index.js.map
@@ -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","imageSection","imageContainer","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.imageSection}>\n <div className={style.imageContainer}>\n <img src={imgUrl} />\n </div>\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","locales","conditionDescriptionProgress","tag","goal","title","progress","imgUrl","onClick","translate","isInprogress","progressLabel","progressTagType","progressIconProps","position","iconName","iconColor","backgroundColor","size","faSize","wrapperSize","customStyle","padding","container","top","right","imageSection","imageContainer","detailWrapper","titleWrapper","moduleCount","customProgressBar","positive","contextTypes","childContextTypes","propTypes","string","shape","condition","nbDone","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 {\n label,\n locales: {conditionDescriptionProgress, tag},\n goal: {title},\n progress,\n imgUrl,\n onClick\n } = props;\n const {translate} = context;\n const isInprogress = progress < 100;\n const progressLabel = isInprogress ? translate('in_progress') : translate('completed');\n const progressTagType = isInprogress ? 'progress' : 'success';\n\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\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.imageSection}>\n <div className={style.imageContainer}>\n <img src={imgUrl} />\n </div>\n </div>\n <div className={style.detailWrapper}>\n <div className={style.titleWrapper}>\n <Tag label={tag} size=\"S\" />\n <div className={style.title} data-name=\"certification-title\">\n {title}\n </div>\n <div className={style.moduleCount}>{conditionDescriptionProgress}</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 locales: PropTypes.shape({\n conditionDescriptionProgress: PropTypes.string,\n tag: PropTypes.string\n })\n};\n\nexport default CertificationCard;\n"],"mappings":"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"}
@@ -297,8 +297,8 @@ declare const propTypes: {
297
297
  'aria-label': PropTypes.Requireable<string>;
298
298
  title: PropTypes.Requireable<string>;
299
299
  target: PropTypes.Requireable<string>;
300
- skinHover: PropTypes.Requireable<boolean>;
301
300
  hoverColor: PropTypes.Requireable<string>;
301
+ hoverBackgroundColor: PropTypes.Requireable<string>;
302
302
  download: PropTypes.Requireable<boolean>;
303
303
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
304
304
  onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;