@coorpacademy/components 11.32.43 → 11.32.44-alpha.55

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 (175) 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/cta/index.js +2 -2
  5. package/es/atom/cta/index.js.map +1 -1
  6. package/es/atom/icon/index.d.ts +1 -0
  7. package/es/atom/icon/index.d.ts.map +1 -1
  8. package/es/atom/icon/index.js +8 -1
  9. package/es/atom/icon/index.js.map +1 -1
  10. package/es/atom/input-file-draggable/index.js +2 -2
  11. package/es/atom/input-file-draggable/index.js.map +1 -1
  12. package/es/atom/link/index.d.ts +2 -2
  13. package/es/atom/link/index.d.ts.map +1 -1
  14. package/es/atom/link/index.js +38 -46
  15. package/es/atom/link/index.js.map +1 -1
  16. package/es/molecule/banner/index.js +3 -3
  17. package/es/molecule/banner/index.js.map +1 -1
  18. package/es/molecule/certification-card/index.d.ts +4 -0
  19. package/es/molecule/certification-card/index.d.ts.map +1 -1
  20. package/es/molecule/certification-card/index.js +14 -10
  21. package/es/molecule/certification-card/index.js.map +1 -1
  22. package/es/molecule/cm-popin/types.d.ts +14 -2
  23. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  24. package/es/molecule/draggable-list/index.d.ts +12 -0
  25. package/es/molecule/progress-wrapper/index.d.ts.map +1 -1
  26. package/es/molecule/progress-wrapper/index.js +21 -11
  27. package/es/molecule/progress-wrapper/index.js.map +1 -1
  28. package/es/organism/accordion/coorp-manager/part/index.js +2 -1
  29. package/es/organism/accordion/coorp-manager/part/index.js.map +1 -1
  30. package/es/organism/brand-learning-priorities/index.d.ts +12 -0
  31. package/es/organism/list-item/index.d.ts +16 -1
  32. package/es/organism/list-item/index.d.ts.map +1 -1
  33. package/es/organism/list-item/index.js +58 -9
  34. package/es/organism/list-item/index.js.map +1 -1
  35. package/es/organism/list-item/style.css +25 -11
  36. package/es/organism/list-items/index.d.ts +12 -0
  37. package/es/organism/mooc-header/index.d.ts.map +1 -1
  38. package/es/organism/mooc-header/index.js +2 -3
  39. package/es/organism/mooc-header/index.js.map +1 -1
  40. package/es/organism/sidebar/index.d.ts +28 -3
  41. package/es/organism/sidebar/index.d.ts.map +1 -1
  42. package/es/organism/sidebar/index.js +7 -3
  43. package/es/organism/sidebar/index.js.map +1 -1
  44. package/es/template/app-player/loading/index.d.ts +14 -2
  45. package/es/template/app-player/player/index.d.ts +28 -4
  46. package/es/template/app-player/player/slides/index.d.ts +14 -2
  47. package/es/template/app-player/player/slides/index.d.ts.map +1 -1
  48. package/es/template/app-player/popin-correction/index.d.ts +18 -6
  49. package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
  50. package/es/template/app-player/popin-end/index.d.ts +16 -4
  51. package/es/template/app-player/popin-end/summary.d.ts +2 -2
  52. package/es/template/app-player/popin-header/index.d.ts +2 -2
  53. package/es/template/app-review/index.d.ts +14 -2
  54. package/es/template/app-review/index.d.ts.map +1 -1
  55. package/es/template/app-review/player/prop-types.d.ts +14 -2
  56. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  57. package/es/template/app-review/prop-types.d.ts +14 -2
  58. package/es/template/app-review/prop-types.d.ts.map +1 -1
  59. package/es/template/back-office/brand-update/index.d.ts +38 -2
  60. package/es/template/certification-detail/index.d.ts +1 -0
  61. package/es/template/certification-detail/index.d.ts.map +1 -1
  62. package/es/template/certification-detail/index.js +3 -1
  63. package/es/template/certification-detail/index.js.map +1 -1
  64. package/es/template/certifications/index.d.ts +6 -0
  65. package/es/template/certifications/index.d.ts.map +1 -1
  66. package/es/template/certifications/index.js +26 -12
  67. package/es/template/certifications/index.js.map +1 -1
  68. package/es/template/common/dashboard/index.d.ts +28 -4
  69. package/es/template/common/search-page/index.d.ts +14 -2
  70. package/es/template/external-course/index.d.ts +14 -2
  71. package/es/template/skill-detail/index.d.ts +1 -1
  72. package/es/template/skill-detail/index.d.ts.map +1 -1
  73. package/es/template/skill-detail/index.js +5 -5
  74. package/es/template/skill-detail/index.js.map +1 -1
  75. package/lib/atom/button-link/index.d.ts.map +1 -1
  76. package/lib/atom/button-link/index.js +12 -6
  77. package/lib/atom/button-link/index.js.map +1 -1
  78. package/lib/atom/cta/index.js +2 -2
  79. package/lib/atom/cta/index.js.map +1 -1
  80. package/lib/atom/icon/index.d.ts +1 -0
  81. package/lib/atom/icon/index.d.ts.map +1 -1
  82. package/lib/atom/icon/index.js +12 -2
  83. package/lib/atom/icon/index.js.map +1 -1
  84. package/lib/atom/input-file-draggable/index.js.map +1 -1
  85. package/lib/atom/link/index.d.ts +2 -2
  86. package/lib/atom/link/index.d.ts.map +1 -1
  87. package/lib/atom/link/index.js +38 -47
  88. package/lib/atom/link/index.js.map +1 -1
  89. package/lib/molecule/banner/index.js.map +1 -1
  90. package/lib/molecule/certification-card/index.d.ts +4 -0
  91. package/lib/molecule/certification-card/index.d.ts.map +1 -1
  92. package/lib/molecule/certification-card/index.js +14 -10
  93. package/lib/molecule/certification-card/index.js.map +1 -1
  94. package/lib/molecule/cm-popin/types.d.ts +14 -2
  95. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  96. package/lib/molecule/draggable-list/index.d.ts +12 -0
  97. package/lib/molecule/progress-wrapper/index.d.ts.map +1 -1
  98. package/lib/molecule/progress-wrapper/index.js +25 -12
  99. package/lib/molecule/progress-wrapper/index.js.map +1 -1
  100. package/lib/organism/accordion/coorp-manager/part/index.js +3 -1
  101. package/lib/organism/accordion/coorp-manager/part/index.js.map +1 -1
  102. package/lib/organism/brand-learning-priorities/index.d.ts +12 -0
  103. package/lib/organism/list-item/index.d.ts +16 -1
  104. package/lib/organism/list-item/index.d.ts.map +1 -1
  105. package/lib/organism/list-item/index.js +56 -5
  106. package/lib/organism/list-item/index.js.map +1 -1
  107. package/lib/organism/list-item/style.css +25 -11
  108. package/lib/organism/list-items/index.d.ts +12 -0
  109. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  110. package/lib/organism/mooc-header/index.js +2 -3
  111. package/lib/organism/mooc-header/index.js.map +1 -1
  112. package/lib/organism/sidebar/index.d.ts +28 -3
  113. package/lib/organism/sidebar/index.d.ts.map +1 -1
  114. package/lib/organism/sidebar/index.js +7 -3
  115. package/lib/organism/sidebar/index.js.map +1 -1
  116. package/lib/template/app-player/loading/index.d.ts +14 -2
  117. package/lib/template/app-player/player/index.d.ts +28 -4
  118. package/lib/template/app-player/player/slides/index.d.ts +14 -2
  119. package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
  120. package/lib/template/app-player/popin-correction/index.d.ts +18 -6
  121. package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
  122. package/lib/template/app-player/popin-end/index.d.ts +16 -4
  123. package/lib/template/app-player/popin-end/summary.d.ts +2 -2
  124. package/lib/template/app-player/popin-header/index.d.ts +2 -2
  125. package/lib/template/app-review/index.d.ts +14 -2
  126. package/lib/template/app-review/index.d.ts.map +1 -1
  127. package/lib/template/app-review/player/prop-types.d.ts +14 -2
  128. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  129. package/lib/template/app-review/prop-types.d.ts +14 -2
  130. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  131. package/lib/template/back-office/brand-update/index.d.ts +38 -2
  132. package/lib/template/certification-detail/index.d.ts +1 -0
  133. package/lib/template/certification-detail/index.d.ts.map +1 -1
  134. package/lib/template/certification-detail/index.js +3 -1
  135. package/lib/template/certification-detail/index.js.map +1 -1
  136. package/lib/template/certifications/index.d.ts +6 -0
  137. package/lib/template/certifications/index.d.ts.map +1 -1
  138. package/lib/template/certifications/index.js +28 -14
  139. package/lib/template/certifications/index.js.map +1 -1
  140. package/lib/template/common/dashboard/index.d.ts +28 -4
  141. package/lib/template/common/search-page/index.d.ts +14 -2
  142. package/lib/template/external-course/index.d.ts +14 -2
  143. package/lib/template/skill-detail/index.d.ts +1 -1
  144. package/lib/template/skill-detail/index.d.ts.map +1 -1
  145. package/lib/template/skill-detail/index.js +5 -5
  146. package/lib/template/skill-detail/index.js.map +1 -1
  147. package/locales/bs/global.json +10 -10
  148. package/locales/cs/global.json +10 -10
  149. package/locales/de/global.json +10 -10
  150. package/locales/en/global.json +1 -1
  151. package/locales/es/global.json +10 -10
  152. package/locales/et/global.json +10 -10
  153. package/locales/fi/global.json +10 -10
  154. package/locales/fr/global.json +10 -10
  155. package/locales/hr/global.json +10 -10
  156. package/locales/hu/global.json +10 -10
  157. package/locales/hy/global.json +10 -10
  158. package/locales/it/global.json +10 -10
  159. package/locales/ja/global.json +10 -10
  160. package/locales/ko/global.json +10 -10
  161. package/locales/nl/global.json +10 -10
  162. package/locales/pl/global.json +10 -10
  163. package/locales/pt/global.json +10 -10
  164. package/locales/ro/global.json +10 -10
  165. package/locales/ru/global.json +10 -10
  166. package/locales/sk/global.json +10 -10
  167. package/locales/sl/global.json +10 -10
  168. package/locales/sv/global.json +10 -10
  169. package/locales/tl/global.json +8 -8
  170. package/locales/tr/global.json +10 -10
  171. package/locales/uk/global.json +10 -10
  172. package/locales/vi/global.json +10 -10
  173. package/locales/zh/global.json +10 -10
  174. package/locales/zh_TW/global.json +10 -10
  175. 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
+ onMouseOver: 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 onMouseOver={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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"}
@@ -32,7 +32,7 @@ const CTA = (props, legacyContext) => {
32
32
  useButtonTag = false
33
33
  } = props;
34
34
  const [hovered, setHovered] = useState(false);
35
- const handleMouseEnter = useCallback(() => {
35
+ const handleMouseOver = useCallback(() => {
36
36
  setHovered(true);
37
37
  }, []);
38
38
  const handleMouseLeave = useCallback(() => {
@@ -76,7 +76,7 @@ const CTA = (props, legacyContext) => {
76
76
  return /*#__PURE__*/React.createElement(Link, {
77
77
  href: href,
78
78
  onClick: disabled ? _noop : onClick,
79
- onMouseEnter: handleMouseEnter,
79
+ onMouseOver: handleMouseOver,
80
80
  onMouseLeave: handleMouseLeave,
81
81
  target: target,
82
82
  className: classnames(style.button, disabled ? style.disabled : null, small ? style.smallButton : null, light ? style.lightButton : null, secondary ? style.secondaryButton : null, logout ? style.logoutButton : null, rectangular ? style.rectangularButton : null, fullWidth ? style.fullWidth : null, certificationButton ? style.certificationButton : null, className),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useState","convert","classnames","NovaCompositionCoorpacademyLogout","LogoutIcon","Link","Provider","style","propTypes","CTA","props","legacyContext","skin","ariaLabel","submitValue","name","ctaName","href","target","disabled","light","small","secondary","onClick","className","logout","rectangular","fullWidth","certificationButton","useButtonTag","hovered","setHovered","handleMouseEnter","handleMouseLeave","getStyle","color","grey","backgroundColor","borderColor","opacity","darkenColor","button","smallButton","lightButton","secondaryButton","logoutButton","rectangularButton","logoutWrapper","logoutIcon","contextTypes","childContextTypes"],"sources":["../../../src/atom/cta/index.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport {convert} from 'css-color-function';\nimport {get, noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {NovaCompositionCoorpacademyLogout as LogoutIcon} from '@coorpacademy/nova-icons';\nimport Link from '../link';\nimport type {WebContextValues} from '../provider/web-context';\nimport Provider from '../provider';\nimport style from './style.css';\nimport propTypes from './prop-types';\nimport type {CTAProps} from './prop-types';\n\nconst CTA = (props: CTAProps, legacyContext: WebContextValues) => {\n const {skin} = legacyContext;\n const {\n 'aria-label': ariaLabel,\n submitValue = 'submit',\n name: ctaName,\n href,\n target,\n disabled = false,\n light = false,\n small = false,\n secondary = false,\n onClick,\n className,\n logout = false,\n rectangular = false,\n fullWidth = false,\n certificationButton = false,\n useButtonTag = false\n } = props;\n const [hovered, setHovered] = useState(false);\n\n const handleMouseEnter = useCallback(() => {\n setHovered(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setHovered(false);\n }, []);\n\n const getStyle = useCallback(() => {\n const color = get('common.primary', skin);\n const grey = get('common.grey', skin);\n\n if (logout) return;\n\n if (disabled) {\n return {\n backgroundColor: grey,\n borderColor: grey,\n opacity: '0.3'\n };\n }\n\n if (hovered) {\n const darkenColor = convert(`color(${color} blackness(+10%))`);\n return {\n backgroundColor: darkenColor,\n borderColor: darkenColor\n };\n }\n\n if (secondary)\n return {\n color,\n borderColor: color\n };\n\n if (light)\n return {\n color\n };\n\n return {\n borderColor: color,\n backgroundColor: color\n };\n }, [disabled, hovered, light, logout, secondary, skin]);\n\n return (\n <Link\n href={href}\n onClick={disabled ? noop : onClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n target={target}\n className={classnames(\n style.button,\n disabled ? style.disabled : null,\n small ? style.smallButton : null,\n light ? style.lightButton : null,\n secondary ? style.secondaryButton : null,\n logout ? style.logoutButton : null,\n rectangular ? style.rectangularButton : null,\n fullWidth ? style.fullWidth : null,\n certificationButton ? style.certificationButton : null,\n className\n )}\n data-name={ctaName || 'cta'}\n style={getStyle()}\n aria-label={ariaLabel}\n useButtonTag={useButtonTag}\n >\n {logout ? (\n <div className={style.logoutWrapper} data-name=\"cta-logout-label\">\n <LogoutIcon height={15} width={15} className={style.logoutIcon} />\n {submitValue}\n </div>\n ) : (\n submitValue\n )}\n </Link>\n );\n};\n\nCTA.propTypes = propTypes;\n\nCTA.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default CTA;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,WAAf,EAA4BC,QAA5B,QAA2C,OAA3C;AACA,SAAQC,OAAR,QAAsB,oBAAtB;AAEA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAAQC,iCAAiC,IAAIC,UAA7C,QAA8D,0BAA9D;AACA,OAAOC,IAAP,MAAiB,SAAjB;AAEA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;;AAGA,MAAMC,GAAG,GAAG,CAACC,KAAD,EAAkBC,aAAlB,KAAsD;EAChE,MAAM;IAACC;EAAD,IAASD,aAAf;EACA,MAAM;IACJ,cAAcE,SADV;IAEJC,WAAW,GAAG,QAFV;IAGJC,IAAI,EAAEC,OAHF;IAIJC,IAJI;IAKJC,MALI;IAMJC,QAAQ,GAAG,KANP;IAOJC,KAAK,GAAG,KAPJ;IAQJC,KAAK,GAAG,KARJ;IASJC,SAAS,GAAG,KATR;IAUJC,OAVI;IAWJC,SAXI;IAYJC,MAAM,GAAG,KAZL;IAaJC,WAAW,GAAG,KAbV;IAcJC,SAAS,GAAG,KAdR;IAeJC,mBAAmB,GAAG,KAflB;IAgBJC,YAAY,GAAG;EAhBX,IAiBFnB,KAjBJ;EAkBA,MAAM,CAACoB,OAAD,EAAUC,UAAV,IAAwB/B,QAAQ,CAAC,KAAD,CAAtC;EAEA,MAAMgC,gBAAgB,GAAGjC,WAAW,CAAC,MAAM;IACzCgC,UAAU,CAAC,IAAD,CAAV;EACD,CAFmC,EAEjC,EAFiC,CAApC;EAIA,MAAME,gBAAgB,GAAGlC,WAAW,CAAC,MAAM;IACzCgC,UAAU,CAAC,KAAD,CAAV;EACD,CAFmC,EAEjC,EAFiC,CAApC;EAIA,MAAMG,QAAQ,GAAGnC,WAAW,CAAC,MAAM;IACjC,MAAMoC,KAAK,GAAG,KAAI,gBAAJ,EAAsBvB,IAAtB,CAAd;;IACA,MAAMwB,IAAI,GAAG,KAAI,aAAJ,EAAmBxB,IAAnB,CAAb;;IAEA,IAAIa,MAAJ,EAAY;;IAEZ,IAAIN,QAAJ,EAAc;MACZ,OAAO;QACLkB,eAAe,EAAED,IADZ;QAELE,WAAW,EAAEF,IAFR;QAGLG,OAAO,EAAE;MAHJ,CAAP;IAKD;;IAED,IAAIT,OAAJ,EAAa;MACX,MAAMU,WAAW,GAAGvC,OAAO,CAAE,SAAQkC,KAAM,mBAAhB,CAA3B;MACA,OAAO;QACLE,eAAe,EAAEG,WADZ;QAELF,WAAW,EAAEE;MAFR,CAAP;IAID;;IAED,IAAIlB,SAAJ,EACE,OAAO;MACLa,KADK;MAELG,WAAW,EAAEH;IAFR,CAAP;IAKF,IAAIf,KAAJ,EACE,OAAO;MACLe;IADK,CAAP;IAIF,OAAO;MACLG,WAAW,EAAEH,KADR;MAELE,eAAe,EAAEF;IAFZ,CAAP;EAID,CArC2B,EAqCzB,CAAChB,QAAD,EAAWW,OAAX,EAAoBV,KAApB,EAA2BK,MAA3B,EAAmCH,SAAnC,EAA8CV,IAA9C,CArCyB,CAA5B;EAuCA,oBACE,oBAAC,IAAD;IACE,IAAI,EAAEK,IADR;IAEE,OAAO,EAAEE,QAAQ,WAAUI,OAF7B;IAGE,YAAY,EAAES,gBAHhB;IAIE,YAAY,EAAEC,gBAJhB;IAKE,MAAM,EAAEf,MALV;IAME,SAAS,EAAEhB,UAAU,CACnBK,KAAK,CAACkC,MADa,EAEnBtB,QAAQ,GAAGZ,KAAK,CAACY,QAAT,GAAoB,IAFT,EAGnBE,KAAK,GAAGd,KAAK,CAACmC,WAAT,GAAuB,IAHT,EAInBtB,KAAK,GAAGb,KAAK,CAACoC,WAAT,GAAuB,IAJT,EAKnBrB,SAAS,GAAGf,KAAK,CAACqC,eAAT,GAA2B,IALjB,EAMnBnB,MAAM,GAAGlB,KAAK,CAACsC,YAAT,GAAwB,IANX,EAOnBnB,WAAW,GAAGnB,KAAK,CAACuC,iBAAT,GAA6B,IAPrB,EAQnBnB,SAAS,GAAGpB,KAAK,CAACoB,SAAT,GAAqB,IARX,EASnBC,mBAAmB,GAAGrB,KAAK,CAACqB,mBAAT,GAA+B,IAT/B,EAUnBJ,SAVmB,CANvB;IAkBE,aAAWR,OAAO,IAAI,KAlBxB;IAmBE,KAAK,EAAEkB,QAAQ,EAnBjB;IAoBE,cAAYrB,SApBd;IAqBE,YAAY,EAAEgB;EArBhB,GAuBGJ,MAAM,gBACL;IAAK,SAAS,EAAElB,KAAK,CAACwC,aAAtB;IAAqC,aAAU;EAA/C,gBACE,oBAAC,UAAD;IAAY,MAAM,EAAE,EAApB;IAAwB,KAAK,EAAE,EAA/B;IAAmC,SAAS,EAAExC,KAAK,CAACyC;EAApD,EADF,EAEGlC,WAFH,CADK,GAMLA,WA7BJ,CADF;AAkCD,CAvGD;;AAyGAL,GAAG,CAACD,SAAJ,2CAAgBA,SAAhB;AAEAC,GAAG,CAACwC,YAAJ,GAAmB;EACjBrC,IAAI,EAAEN,QAAQ,CAAC4C,iBAAT,CAA2BtC;AADhB,CAAnB;AAIA,eAAeH,GAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useState","convert","classnames","NovaCompositionCoorpacademyLogout","LogoutIcon","Link","Provider","style","propTypes","CTA","props","legacyContext","skin","ariaLabel","submitValue","name","ctaName","href","target","disabled","light","small","secondary","onClick","className","logout","rectangular","fullWidth","certificationButton","useButtonTag","hovered","setHovered","handleMouseOver","handleMouseLeave","getStyle","color","grey","backgroundColor","borderColor","opacity","darkenColor","button","smallButton","lightButton","secondaryButton","logoutButton","rectangularButton","logoutWrapper","logoutIcon","contextTypes","childContextTypes"],"sources":["../../../src/atom/cta/index.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport {convert} from 'css-color-function';\nimport {get, noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {NovaCompositionCoorpacademyLogout as LogoutIcon} from '@coorpacademy/nova-icons';\nimport Link from '../link';\nimport type {WebContextValues} from '../provider/web-context';\nimport Provider from '../provider';\nimport style from './style.css';\nimport propTypes from './prop-types';\nimport type {CTAProps} from './prop-types';\n\nconst CTA = (props: CTAProps, legacyContext: WebContextValues) => {\n const {skin} = legacyContext;\n const {\n 'aria-label': ariaLabel,\n submitValue = 'submit',\n name: ctaName,\n href,\n target,\n disabled = false,\n light = false,\n small = false,\n secondary = false,\n onClick,\n className,\n logout = false,\n rectangular = false,\n fullWidth = false,\n certificationButton = false,\n useButtonTag = false\n } = props;\n const [hovered, setHovered] = useState(false);\n\n const handleMouseOver = useCallback(() => {\n setHovered(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setHovered(false);\n }, []);\n\n const getStyle = useCallback(() => {\n const color = get('common.primary', skin);\n const grey = get('common.grey', skin);\n\n if (logout) return;\n\n if (disabled) {\n return {\n backgroundColor: grey,\n borderColor: grey,\n opacity: '0.3'\n };\n }\n\n if (hovered) {\n const darkenColor = convert(`color(${color} blackness(+10%))`);\n return {\n backgroundColor: darkenColor,\n borderColor: darkenColor\n };\n }\n\n if (secondary)\n return {\n color,\n borderColor: color\n };\n\n if (light)\n return {\n color\n };\n\n return {\n borderColor: color,\n backgroundColor: color\n };\n }, [disabled, hovered, light, logout, secondary, skin]);\n\n return (\n <Link\n href={href}\n onClick={disabled ? noop : onClick}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n target={target}\n className={classnames(\n style.button,\n disabled ? style.disabled : null,\n small ? style.smallButton : null,\n light ? style.lightButton : null,\n secondary ? style.secondaryButton : null,\n logout ? style.logoutButton : null,\n rectangular ? style.rectangularButton : null,\n fullWidth ? style.fullWidth : null,\n certificationButton ? style.certificationButton : null,\n className\n )}\n data-name={ctaName || 'cta'}\n style={getStyle()}\n aria-label={ariaLabel}\n useButtonTag={useButtonTag}\n >\n {logout ? (\n <div className={style.logoutWrapper} data-name=\"cta-logout-label\">\n <LogoutIcon height={15} width={15} className={style.logoutIcon} />\n {submitValue}\n </div>\n ) : (\n submitValue\n )}\n </Link>\n );\n};\n\nCTA.propTypes = propTypes;\n\nCTA.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default CTA;\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export const DEFAULT_ICON_COLOR: "hsl(0, 0%, 32%)";
2
+ export function createGradientBackground(baseColor: any): string;
2
3
  export function getForegroundColor(backgroundColor: any): any;
3
4
  export default Icon;
4
5
  declare const Icon: React.NamedExoticComponent<object>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/icon/index.js"],"names":[],"mappings":"AAiBA,mDAAoD;AAiB7C,8DAC8D;;AAGrE,uDAmCG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/icon/index.js"],"names":[],"mappings":"AAiBA,mDAAoD;AAiB7C,iEAIN;AAEM,8DAC8D;;AAGrE,uDAoCG"}
@@ -30,12 +30,18 @@ const SIZE_CONFIGS = {
30
30
  wrapperSize: 48
31
31
  }
32
32
  };
33
+ export const createGradientBackground = baseColor => {
34
+ const startColor = convert(`color(${baseColor} lightness(91%))`);
35
+ const endColor = convert(`color(${baseColor} lightness(81%))`);
36
+ return `linear-gradient(180deg, ${startColor} 0%, ${endColor} 100%)`;
37
+ };
33
38
  export const getForegroundColor = backgroundColor => convert(`color(${backgroundColor} lightness(${ICON_LUMINOSITY}%))`); // set lightness to 32%
34
39
 
35
40
  const Icon = /*#__PURE__*/React.memo(function Icon({
36
41
  iconName,
37
42
  iconColor,
38
43
  backgroundColor,
44
+ gradientBackground,
39
45
  borderRadius,
40
46
  preset = DEFAULT_PRESET,
41
47
  size,
@@ -45,7 +51,7 @@ const Icon = /*#__PURE__*/React.memo(function Icon({
45
51
  const effectiveSize = size ? merge(SIZE_CONFIGS[DEFAULT_PRESET], size) : getOr(SIZE_CONFIGS[DEFAULT_PRESET], toLower(preset), SIZE_CONFIGS);
46
52
  const wrapperSize = effectiveSize.wrapperSize - ICON_PADDING * 2;
47
53
  const iconWrapperStyle = {
48
- backgroundColor,
54
+ background: gradientBackground ? createGradientBackground(effectiveIconColor) : backgroundColor,
49
55
  borderRadius,
50
56
  width: wrapperSize,
51
57
  height: wrapperSize,
@@ -64,6 +70,7 @@ Icon.propTypes = process.env.NODE_ENV !== "production" ? {
64
70
  iconName: PropTypes.string.isRequired,
65
71
  iconColor: PropTypes.string,
66
72
  backgroundColor: PropTypes.string,
73
+ gradientBackground: PropTypes.bool,
67
74
  borderRadius: PropTypes.string,
68
75
  preset: PropTypes.oneOf(['s', 'm', 'xl']),
69
76
  size: PropTypes.shape({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","number","FontAwesomeIcon","fas","library","toLower","merge","getOr","convert","style","add","DEFAULT_PRESET","ICON_LUMINOSITY","DEFAULT_WRAPPER_SIZE","ICON_PADDING","DEFAULT_ICON_COLOR","SIZE_CONFIGS","s","faSize","wrapperSize","m","xl","getForegroundColor","backgroundColor","Icon","memo","iconName","iconColor","borderRadius","preset","size","customStyle","effectiveIconColor","effectiveSize","iconWrapperStyle","width","height","padding","iconWrapper","propTypes","string","isRequired","oneOf","shape","objectOf","oneOfType"],"sources":["../../../src/atom/icon/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes, {number} from 'prop-types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {fas} from '@fortawesome/pro-solid-svg-icons';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport toLower from 'lodash/fp/toLower';\nimport merge from 'lodash/fp/merge';\nimport getOr from 'lodash/fp/getOr';\nimport {convert} from 'css-color-function';\nimport style from './style.css';\n\nlibrary.add(fas);\n\nconst DEFAULT_PRESET = 'm';\nconst ICON_LUMINOSITY = 32;\nconst DEFAULT_WRAPPER_SIZE = 40;\nconst ICON_PADDING = 8;\nexport const DEFAULT_ICON_COLOR = 'hsl(0, 0%, 32%)';\n\nconst SIZE_CONFIGS = {\n s: {\n faSize: 12,\n wrapperSize: 32\n },\n m: {\n faSize: 16,\n wrapperSize: DEFAULT_WRAPPER_SIZE\n },\n xl: {\n faSize: 20,\n wrapperSize: 48\n }\n};\n\nexport const getForegroundColor = backgroundColor =>\n convert(`color(${backgroundColor} lightness(${ICON_LUMINOSITY}%))`);\n// set lightness to 32%\n\nconst Icon = React.memo(function Icon({\n iconName,\n iconColor,\n backgroundColor,\n borderRadius,\n preset = DEFAULT_PRESET,\n size,\n customStyle\n}) {\n const effectiveIconColor =\n iconColor || (backgroundColor ? getForegroundColor(backgroundColor) : DEFAULT_ICON_COLOR);\n\n const effectiveSize = size\n ? merge(SIZE_CONFIGS[DEFAULT_PRESET], size)\n : getOr(SIZE_CONFIGS[DEFAULT_PRESET], toLower(preset), SIZE_CONFIGS);\n\n const wrapperSize = effectiveSize.wrapperSize - ICON_PADDING * 2;\n\n const iconWrapperStyle = {\n backgroundColor,\n borderRadius,\n width: wrapperSize,\n height: wrapperSize,\n padding: ICON_PADDING\n };\n\n return (\n <div className={style.iconWrapper} style={{...iconWrapperStyle, ...customStyle}}>\n <FontAwesomeIcon\n icon={`fa-${iconName}`}\n color={effectiveIconColor}\n fontSize={effectiveSize.faSize}\n />\n </div>\n );\n});\n\nIcon.propTypes = {\n iconName: PropTypes.string.isRequired,\n iconColor: PropTypes.string,\n backgroundColor: PropTypes.string,\n borderRadius: PropTypes.string,\n preset: PropTypes.oneOf(['s', 'm', 'xl']),\n size: PropTypes.shape({\n faSize: number,\n wrapperSize: PropTypes.number\n }),\n customStyle: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n};\n\nexport default Icon;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","number","FontAwesomeIcon","fas","library","toLower","merge","getOr","convert","style","add","DEFAULT_PRESET","ICON_LUMINOSITY","DEFAULT_WRAPPER_SIZE","ICON_PADDING","DEFAULT_ICON_COLOR","SIZE_CONFIGS","s","faSize","wrapperSize","m","xl","createGradientBackground","baseColor","startColor","endColor","getForegroundColor","backgroundColor","Icon","memo","iconName","iconColor","gradientBackground","borderRadius","preset","size","customStyle","effectiveIconColor","effectiveSize","iconWrapperStyle","background","width","height","padding","iconWrapper","propTypes","string","isRequired","bool","oneOf","shape","objectOf","oneOfType"],"sources":["../../../src/atom/icon/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes, {number} from 'prop-types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {fas} from '@fortawesome/pro-solid-svg-icons';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport toLower from 'lodash/fp/toLower';\nimport merge from 'lodash/fp/merge';\nimport getOr from 'lodash/fp/getOr';\nimport {convert} from 'css-color-function';\nimport style from './style.css';\n\nlibrary.add(fas);\n\nconst DEFAULT_PRESET = 'm';\nconst ICON_LUMINOSITY = 32;\nconst DEFAULT_WRAPPER_SIZE = 40;\nconst ICON_PADDING = 8;\nexport const DEFAULT_ICON_COLOR = 'hsl(0, 0%, 32%)';\n\nconst SIZE_CONFIGS = {\n s: {\n faSize: 12,\n wrapperSize: 32\n },\n m: {\n faSize: 16,\n wrapperSize: DEFAULT_WRAPPER_SIZE\n },\n xl: {\n faSize: 20,\n wrapperSize: 48\n }\n};\n\nexport const createGradientBackground = baseColor => {\n const startColor = convert(`color(${baseColor} lightness(91%))`);\n const endColor = convert(`color(${baseColor} lightness(81%))`);\n return `linear-gradient(180deg, ${startColor} 0%, ${endColor} 100%)`;\n};\n\nexport const getForegroundColor = backgroundColor =>\n convert(`color(${backgroundColor} lightness(${ICON_LUMINOSITY}%))`);\n// set lightness to 32%\n\nconst Icon = React.memo(function Icon({\n iconName,\n iconColor,\n backgroundColor,\n gradientBackground,\n borderRadius,\n preset = DEFAULT_PRESET,\n size,\n customStyle\n}) {\n const effectiveIconColor =\n iconColor || (backgroundColor ? getForegroundColor(backgroundColor) : DEFAULT_ICON_COLOR);\n\n const effectiveSize = size\n ? merge(SIZE_CONFIGS[DEFAULT_PRESET], size)\n : getOr(SIZE_CONFIGS[DEFAULT_PRESET], toLower(preset), SIZE_CONFIGS);\n\n const wrapperSize = effectiveSize.wrapperSize - ICON_PADDING * 2;\n\n const iconWrapperStyle = {\n background: gradientBackground ? createGradientBackground(effectiveIconColor) : backgroundColor,\n borderRadius,\n width: wrapperSize,\n height: wrapperSize,\n padding: ICON_PADDING\n };\n\n return (\n <div className={style.iconWrapper} style={{...iconWrapperStyle, ...customStyle}}>\n <FontAwesomeIcon\n icon={`fa-${iconName}`}\n color={effectiveIconColor}\n fontSize={effectiveSize.faSize}\n />\n </div>\n );\n});\n\nIcon.propTypes = {\n iconName: PropTypes.string.isRequired,\n iconColor: PropTypes.string,\n backgroundColor: PropTypes.string,\n gradientBackground: PropTypes.bool,\n borderRadius: PropTypes.string,\n preset: PropTypes.oneOf(['s', 'm', 'xl']),\n size: PropTypes.shape({\n faSize: number,\n wrapperSize: PropTypes.number\n }),\n customStyle: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n};\n\nexport default Icon;\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":";;;;AAAA,OAAOA,KAAP,IAAeC,WAAf,QAAiC,OAAjC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SACEC,4BAA4B,IAAIC,aADlC,EAEEC,8BAA8B,IAAIC,OAFpC,QAGO,0BAHP;AAIA,OAAOC,WAAP,MAAwB,kBAAxB;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AACA,SAAQC,aAAR,QAA4B,sBAA5B;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,kBAAkB,GAAG,CAAC;EAC1BC,KAD0B;EAE1BC,WAF0B;EAG1BC,YAH0B;EAI1BC,cAJ0B;EAK1BC,WAL0B;EAM1BC,OAN0B;EAO1BC,QAP0B;EAQ1BC,QAAQ,GAAG,KARe;EAS1BC,mBAAmB,GAAG,KATI;EAU1BC,QAV0B;EAW1BC,OAAO,GAAG,IAXgB;EAY1BC,IAZ0B;EAa1BC,SAb0B;EAc1BC,eAd0B;EAe1BC,QAf0B;EAgB1BC,UAAU,GAAG,EAhBa;EAiB1BC,KAAK,GAAG,EAjBkB;EAkB1BC,eAlB0B;EAmB1BC,gBAnB0B;EAoB1BC,cApB0B;EAqB1BC,kBArB0B;EAsB1BC,WAAW,GAAG,CAtBY;EAuB1BC,QAAQ,GAAG,KAvBe;EAwB1BC,QAAQ,GAAG,KAxBe;EAyB1BC;AAzB0B,CAAD,KA0BrB;EACJ,MAAMC,WAAW,GAAGpC,WAAW,CAC7BqC,CAAC,IAAI;IACH,IAAI,OAAMhB,OAAN,CAAJ,EAAoB;IACpBgB,CAAC,CAACC,cAAF;IACA,OAAOjB,OAAO,CAACgB,CAAD,CAAd;EACD,CAL4B,EAM7B,CAAChB,OAAD,CAN6B,CAA/B;EASA,MAAMkB,eAAe,GAAG;IACtBC,KAAK,EAAE,MADe;IAEtBC,KAAK,EAAE;EAFe,CAAxB;EAKA,MAAMC,QAAQ,GAAG1C,WAAW,CAC1BqC,CAAC,IAAI;IACHA,CAAC,CAACC,cAAF;IACA,OAAOH,OAAO,CAACE,CAAD,CAAd;EACD,CAJyB,EAK1B,CAACF,OAAD,CAL0B,CAA5B;EAQA,oBACE,uDACE,oBAAC,WAAD;IACE,KAAK,EAAExB,KADT;IAEE,WAAW,EAAEC,WAFf;IAGE,YAAY,EAAEC,YAHhB;IAIE,cAAc,EAAEC,cAJlB;IAKE,WAAW,EAAEC,WALf;IAME,OAAO,EAAEC,OANX;IAOE,QAAQ,EAAEC,QAPZ;IAQE,OAAO,EAAEmB,WARX;IASE,KAAK,EAAET,KATT;IAUE,QAAQ,EAAET,QAVZ;IAWE,mBAAmB,EAAEC,mBAXvB;IAYE,eAAe,EAAES,eAZnB;IAaE,gBAAgB,EAAEC,gBAbpB;IAcE,cAAc,EAAEC,cAdlB;IAeE,kBAAkB,EAAEC,kBAftB;IAgBE,QAAQ,EAAEE;EAhBZ,GAkBG,CAACU,WAAD,EAAcC,UAAd,kBACC,0CACOzB,mBAAmB,GAAG;IAACR,KAAK,EAAE;EAAR,CAAH,GAAiB,EAD3C;IAEE,IAAI,EAAC,MAFP;IAGE,IAAI,EAAEW,IAHR;IAIE,MAAM,EAAEI,UAJV;IAKE,QAAQ,EAAEV,OAAO,IAAIE,QALvB;IAME,SAAS,EAAET,KAAK,CAACoC,KANnB;IAOE,QAAQ,EAAEzB,QAPZ;IAQE,WAAW,EAAEuB,WARf;IASE,MAAM,EAAEC,UATV;IAUE,WAAW,EAAEA,UAVf;IAWE,QAAQ,EAAEX,QAXZ;IAYE,QAAQ,EAAEC;EAZZ,GAnBJ,CADF,EAoCGX,SAAS,IAAIE,QAAb,gBACC;IAAK,SAAS,EAAEhB,KAAK,CAACqC;EAAtB,GACGvB,SADH,eAEE,oBAAC,UAAD;IACE,IAAI,EAAC,MADP;IAEE,WAAW,EAAEgB,eAFf;IAGE,IAAI,EAAE;MAACQ,IAAI,EAAEtB,QAAP;MAAiBuB,QAAQ,EAAE;IAA3B,CAHR;IAIE,KAAK,EAAExB;EAJT,EAFF,CADD,GAUG,IA9CN,EA+CGS,QAAQ,IAAID,WAAW,GAAG,CAA1B,gBACC;IAAK,SAAS,EAAEvB,KAAK,CAACwC;EAAtB,gBACE;IAAK,SAAS,EAAExC,KAAK,CAACuB;EAAtB,gBACE,oBAAC,aAAD;IAAe,SAAS,EAAEvB,KAAK,CAACyC;EAAhC,EADF,eAEE,iCAAMlB,WAAN,WAFF,CADF,eAKE;IAAK,SAAS,EAAEvB,KAAK,CAAC0C,gBAAtB;IAAwC,OAAO,EAAET;EAAjD,gBACE,oBAAC,OAAD;IAAS,SAAS,EAAEjC,KAAK,CAAC2C;EAA1B,EADF,eAEE,+CAFF,CALF,CADD,GAWG,IA1DN,CADF;AA8DD,CA/GD;;AAiHA1C,kBAAkB,CAAC2C,SAAnB,wDACK/C,WAAW,CAAC+C,SADjB;EAEElC,mBAAmB,EAAElB,SAAS,CAACqD,IAFjC;EAGEhC,IAAI,EAAErB,SAAS,CAACsD,MAHlB;EAIEnC,QAAQ,EAAEnB,SAAS,CAACuD,IAJtB;EAKEnC,OAAO,EAAEpB,SAAS,CAACuD,IALrB;EAME9B,UAAU,EAAElB,aANd;EAOEmB,KAAK,EAAE1B,SAAS,CAACsD,MAPnB;EAQE3B,eAAe,EAAE3B,SAAS,CAACsD,MAR7B;EASE1B,gBAAgB,EAAE5B,SAAS,CAACsD,MAT9B;EAUEhC,SAAS,EAAEtB,SAAS,CAACsD,MAVvB;EAWE9B,QAAQ,EAAExB,SAAS,CAACsD;AAXtB;AAcA,eAAe7C,kBAAf"}
@@ -9,11 +9,11 @@ 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
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
16
+ onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
17
17
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
18
18
  useButtonTag: PropTypes.Requireable<boolean>;
19
19
  style: PropTypes.Requireable<PropTypes.InferProps<{}>>;
@@ -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", "onMouseOver", "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,66 +20,60 @@ 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,
31
+ onMouseOver = _noop,
39
32
  onMouseLeave = _noop,
40
- onMouseEnter = _noop,
41
33
  download,
42
34
  disabled
43
- } = props;
44
- const handleMouseEnter = useCallback(() => {
35
+ } = props,
36
+ restProps = _objectWithoutPropertiesLoose(props, _excluded);
37
+
38
+ const navigate = useMemo(() => pushToHistory(legacyContext)({
39
+ href
40
+ }), [href, legacyContext]);
41
+ const handleMouseOver = useCallback(() => {
45
42
  setHovered(true);
46
- onMouseEnter();
47
- }, [onMouseEnter]);
43
+ onMouseOver();
44
+ }, [onMouseOver]);
48
45
  const handleMouseLeave = useCallback(() => {
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, {
59
+ pointerEvents: disabled || !href ? 'none' : undefined
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
+ onMouseOver: handleMouseOver,
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,
76
- 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);
73
+ style: style,
74
+ onMouseOver: handleMouseOver,
75
+ onMouseLeave: handleMouseLeave
76
+ }), children);
85
77
  };
86
78
 
87
79
  Link.propTypes = process.env.NODE_ENV !== "production" ? {
@@ -92,11 +84,11 @@ 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
- onMouseEnter: PropTypes.func,
91
+ onMouseOver: PropTypes.func,
100
92
  onMouseLeave: PropTypes.func,
101
93
  useButtonTag: PropTypes.bool,
102
94
  style: PropTypes.shape({}),
@@ -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","onMouseOver","onMouseLeave","download","disabled","restProps","navigate","handleMouseOver","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 onMouseOver = 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 handleMouseOver = useCallback(() => {\n setHovered(true);\n onMouseOver();\n }, [onMouseOver]);\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 pointerEvents: disabled || !href ? 'none' : undefined\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 onMouseOver={handleMouseOver}\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 onMouseOver={handleMouseOver}\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 onMouseOver: 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":"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"}
@@ -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 tag: PropTypes.Requireable<string>;
19
+ const locales: PropTypes.Requireable<PropTypes.InferProps<{
20
+ conditionDescriptionProgress: 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,0EA4DC"}