@coorpacademy/components 11.34.1 → 11.34.2

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 (55) hide show
  1. package/es/atom/button-link-icon/index.js +1 -1
  2. package/es/atom/button-link-icon/index.js.map +1 -1
  3. package/es/molecule/bullet-point-menu-button/index.d.ts.map +1 -1
  4. package/es/molecule/bullet-point-menu-button/index.js +24 -9
  5. package/es/molecule/bullet-point-menu-button/index.js.map +1 -1
  6. package/es/molecule/bullet-point-menu-button/types.d.ts +1 -1
  7. package/es/molecule/bullet-point-menu-button/types.d.ts.map +1 -1
  8. package/es/molecule/bullet-point-menu-button/types.js.map +1 -1
  9. package/es/molecule/progress-wrapper/index.d.ts.map +1 -1
  10. package/es/molecule/progress-wrapper/index.js +10 -5
  11. package/es/molecule/progress-wrapper/index.js.map +1 -1
  12. package/es/template/certification-detail/index.js +3 -2
  13. package/es/template/certification-detail/index.js.map +1 -1
  14. package/lib/atom/button-link-icon/index.js +1 -1
  15. package/lib/atom/button-link-icon/index.js.map +1 -1
  16. package/lib/molecule/bullet-point-menu-button/index.d.ts.map +1 -1
  17. package/lib/molecule/bullet-point-menu-button/index.js +23 -8
  18. package/lib/molecule/bullet-point-menu-button/index.js.map +1 -1
  19. package/lib/molecule/bullet-point-menu-button/types.d.ts +1 -1
  20. package/lib/molecule/bullet-point-menu-button/types.d.ts.map +1 -1
  21. package/lib/molecule/bullet-point-menu-button/types.js.map +1 -1
  22. package/lib/molecule/progress-wrapper/index.d.ts.map +1 -1
  23. package/lib/molecule/progress-wrapper/index.js +10 -5
  24. package/lib/molecule/progress-wrapper/index.js.map +1 -1
  25. package/lib/template/certification-detail/index.js +3 -2
  26. package/lib/template/certification-detail/index.js.map +1 -1
  27. package/locales/bs/global.json +13 -11
  28. package/locales/cs/global.json +13 -11
  29. package/locales/de/global.json +13 -11
  30. package/locales/en/global.json +8 -6
  31. package/locales/es/global.json +13 -11
  32. package/locales/et/global.json +13 -11
  33. package/locales/fi/global.json +13 -11
  34. package/locales/fr/global.json +8 -6
  35. package/locales/hr/global.json +13 -11
  36. package/locales/hu/global.json +13 -11
  37. package/locales/hy/global.json +13 -11
  38. package/locales/it/global.json +13 -11
  39. package/locales/ja/global.json +13 -11
  40. package/locales/ko/global.json +13 -11
  41. package/locales/nl/global.json +13 -11
  42. package/locales/pl/global.json +13 -11
  43. package/locales/pt/global.json +13 -11
  44. package/locales/ro/global.json +13 -11
  45. package/locales/ru/global.json +13 -11
  46. package/locales/sk/global.json +13 -11
  47. package/locales/sl/global.json +13 -11
  48. package/locales/sv/global.json +13 -11
  49. package/locales/tl/global.json +13 -11
  50. package/locales/tr/global.json +13 -11
  51. package/locales/uk/global.json +13 -11
  52. package/locales/vi/global.json +13 -11
  53. package/locales/zh/global.json +13 -11
  54. package/locales/zh_TW/global.json +13 -11
  55. package/package.json +2 -2
@@ -52,7 +52,7 @@ const ButtonLinkIcon = props => {
52
52
  const timer = useRef();
53
53
  const contentView = getButtonContent(icon, faIcon);
54
54
  const styleButton = classnames(getSizeStyle(size), link && style.link, disabled && style.disabled, className);
55
- const handleOnClick = useCallback(() => onClick(), [onClick]);
55
+ const handleOnClick = useCallback(event => onClick(event), [onClick]);
56
56
  const handleMouseOver = useCallback(() => {
57
57
  timer.current && clearTimeout(timer.current);
58
58
  timer.current = setTimeout(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useCallback","useRef","PropTypes","classnames","ICONS","FaIcon","Link","ToolTip","style","getButtonContent","icon","faIcon","Icon","_getOr","createElement","className","buttonContent","iconName","getSizeStyle","size","small","responsive","defaultStyle","ButtonLinkIcon","props","disabled","dataName","ariaLabel","link","onClick","tooltipPlacement","toolTipIsVisible","setToolTipIsVisible","timer","contentView","styleButton","handleOnClick","handleMouseOver","current","clearTimeout","setTimeout","undefined","handleMouseLeave","TooltipContent","tooltipContentWrapper","Button","_extends","onMouseEnter","onMouseLeave","type","onMouseOver","Fragment","fontSize","anchorId","placement","closeToolTipInformationTextAriaLabel","propTypes","process","env","NODE_ENV","oneOf","string","_keys","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.defaultStyle;\n }\n};\n\nconst ButtonLinkIcon = props => {\n const {\n size = 'default',\n disabled,\n icon,\n faIcon,\n 'data-name': dataName = 'button-icon',\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': dataName,\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': dataName,\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={dataName}\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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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useState","useCallback","useRef","PropTypes","classnames","ICONS","FaIcon","Link","ToolTip","style","getButtonContent","icon","faIcon","Icon","_getOr","createElement","className","buttonContent","iconName","getSizeStyle","size","small","responsive","defaultStyle","ButtonLinkIcon","props","disabled","dataName","ariaLabel","link","onClick","tooltipPlacement","toolTipIsVisible","setToolTipIsVisible","timer","contentView","styleButton","handleOnClick","event","handleMouseOver","current","clearTimeout","setTimeout","undefined","handleMouseLeave","TooltipContent","tooltipContentWrapper","Button","_extends","onMouseEnter","onMouseLeave","type","onMouseOver","Fragment","fontSize","anchorId","placement","closeToolTipInformationTextAriaLabel","propTypes","process","env","NODE_ENV","oneOf","string","_keys","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.defaultStyle;\n }\n};\n\nconst ButtonLinkIcon = props => {\n const {\n size = 'default',\n disabled,\n icon,\n faIcon,\n 'data-name': dataName = 'button-icon',\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(event => onClick(event), [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': dataName,\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': dataName,\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={dataName}\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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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/bullet-point-menu-button/index.tsx"],"names":[],"mappings":";AAKA,OAAkB,EAAC,0BAA0B,EAAC,MAAM,SAAS,CAAC;AAG9D,QAAA,MAAM,qBAAqB;YAAW,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2D/D,CAAC;AAIF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/bullet-point-menu-button/index.tsx"],"names":[],"mappings":";AAKA,OAAkB,EAAC,0BAA0B,EAAC,MAAM,SAAS,CAAC;AAG9D,QAAA,MAAM,qBAAqB;YAAW,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgF/D,CAAC;AAIF,eAAe,qBAAqB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import _noop from "lodash/fp/noop";
2
- import React, { useCallback, useState, useEffect } from 'react';
2
+ import React, { useCallback, useState, useEffect, useRef } from 'react';
3
3
  import classnames from 'classnames';
4
4
  import ButtonLinkIcon from '../../atom/button-link-icon';
5
5
  import ButtonMenu from '../../atom/button-menu';
@@ -17,17 +17,31 @@ const BulletPointMenuButton = props => {
17
17
  'data-name': dataName = 'bullet-point-button'
18
18
  } = props;
19
19
  const [visible, setVisible] = useState(false);
20
- const handleOnClick = useCallback(() => {
20
+ const wrapperRef = useRef(null);
21
+ const handleOnClick = useCallback(event => {
22
+ event.stopPropagation();
23
+ event.preventDefault();
21
24
  onClick();
22
- setVisible(true);
23
- }, [onClick]);
25
+ setVisible(!visible);
26
+ }, [onClick, visible]);
24
27
  useEffect(() => {
25
- const handleMouseDown = () => setVisible(false);
26
- document.addEventListener('mousedown', handleMouseDown);
28
+ const handleClick = clickEvent => {
29
+ if (wrapperRef && wrapperRef.current && !wrapperRef.current.contains(clickEvent.target)) {
30
+ setVisible(false);
31
+ }
32
+ };
33
+ if (visible) {
34
+ document.addEventListener('click', handleClick);
35
+ document.addEventListener('touchstart', handleClick);
36
+ } else {
37
+ document.removeEventListener('click', handleClick);
38
+ document.removeEventListener('touchstart', handleClick);
39
+ }
27
40
  return () => {
28
- document.removeEventListener('mousedown', handleMouseDown);
41
+ document.removeEventListener('click', handleClick);
42
+ document.removeEventListener('touchstart', handleClick);
29
43
  };
30
- }, []);
44
+ }, [visible]);
31
45
  const menuProps = {
32
46
  'data-name': 'button-menu',
33
47
  buttons
@@ -36,7 +50,8 @@ const BulletPointMenuButton = props => {
36
50
  const menu = visible ? /*#__PURE__*/React.createElement("div", {
37
51
  className: menuStyle,
38
52
  "data-name": "menu-wrapper",
39
- "aria-label": menuAriaLabel
53
+ "aria-label": menuAriaLabel,
54
+ ref: wrapperRef
40
55
  }, /*#__PURE__*/React.createElement(ButtonMenu, menuProps)) : null;
41
56
  const bulletPointButtonProps = {
42
57
  size: 'default',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useState","useEffect","classnames","ButtonLinkIcon","ButtonMenu","propTypes","style","BulletPointMenuButton","props","disabled","buttonAriaLabel","menuAriaLabel","onClick","_noop","buttons","menuButtonClassName","isBulkMenu","dataName","visible","setVisible","handleOnClick","handleMouseDown","document","addEventListener","removeEventListener","menuProps","menuStyle","bulletPointMenu","bulkBulletPointMenu","menu","createElement","className","bulletPointButtonProps","size","icon","bulletPointWrapper","process","env","NODE_ENV"],"sources":["../../../src/molecule/bullet-point-menu-button/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useEffect} from 'react';\nimport classnames from 'classnames';\nimport {noop} from 'lodash/fp';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport ButtonMenu from '../../atom/button-menu';\nimport propTypes, {BulletPointMenuButtonProps} from './types';\nimport style from './style.css';\n\nconst BulletPointMenuButton = (props: BulletPointMenuButtonProps) => {\n const {\n disabled = false,\n buttonAriaLabel,\n menuAriaLabel,\n onClick = noop,\n buttons,\n menuButtonClassName,\n isBulkMenu,\n 'data-name': dataName = 'bullet-point-button'\n } = props;\n const [visible, setVisible] = useState(false);\n\n const handleOnClick = useCallback(() => {\n onClick();\n setVisible(true);\n }, [onClick]);\n\n useEffect(() => {\n const handleMouseDown = () => setVisible(false);\n document.addEventListener('mousedown', handleMouseDown);\n return () => {\n document.removeEventListener('mousedown', handleMouseDown);\n };\n }, []);\n\n const menuProps = {\n 'data-name': 'button-menu',\n buttons\n };\n\n const menuStyle = classnames(\n style.bulletPointMenu,\n isBulkMenu && style.bulkBulletPointMenu,\n style.visible\n );\n\n const menu = visible ? (\n <div className={menuStyle} data-name=\"menu-wrapper\" aria-label={menuAriaLabel}>\n <ButtonMenu {...menuProps} />\n </div>\n ) : null;\n\n const bulletPointButtonProps = {\n size: 'default',\n 'aria-label': buttonAriaLabel,\n 'data-name': dataName,\n icon: 'bullet-point',\n onClick: handleOnClick,\n disabled,\n className: menuButtonClassName\n };\n\n return (\n <div className={style.bulletPointWrapper} data-name=\"bullet-point-wrapper\">\n <ButtonLinkIcon {...bulletPointButtonProps} />\n {menu}\n </div>\n );\n};\n\nBulletPointMenuButton.propTypes = propTypes;\n\nexport default BulletPointMenuButton;\n"],"mappings":";AAAA,OAAOA,KAAK,IAAGC,WAAW,EAAEC,QAAQ,EAAEC,SAAS,QAAO,OAAO;AAC7D,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,cAAc,MAAM,6BAA6B;AACxD,OAAOC,UAAU,MAAM,wBAAwB;AAC/C,OAAOC,SAAS,MAAoC,SAAS;AAC7D,OAAOC,KAAK,MAAM,aAAa;AAE/B,MAAMC,qBAAqB,GAAIC,KAAiC,IAAK;EACnE,MAAM;IACJC,QAAQ,GAAG,KAAK;IAChBC,eAAe;IACfC,aAAa;IACbC,OAAO,GAAAC,KAAO;IACdC,OAAO;IACPC,mBAAmB;IACnBC,UAAU;IACV,WAAW,EAAEC,QAAQ,GAAG;EAC1B,CAAC,GAAGT,KAAK;EACT,MAAM,CAACU,OAAO,EAAEC,UAAU,CAAC,GAAGnB,QAAQ,CAAC,KAAK,CAAC;EAE7C,MAAMoB,aAAa,GAAGrB,WAAW,CAAC,MAAM;IACtCa,OAAO,CAAC,CAAC;IACTO,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACP,OAAO,CAAC,CAAC;EAEbX,SAAS,CAAC,MAAM;IACd,MAAMoB,eAAe,GAAGA,CAAA,KAAMF,UAAU,CAAC,KAAK,CAAC;IAC/CG,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEF,eAAe,CAAC;IACvD,OAAO,MAAM;MACXC,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEH,eAAe,CAAC;IAC5D,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,SAAS,GAAG;IAChB,WAAW,EAAE,aAAa;IAC1BX;EACF,CAAC;EAED,MAAMY,SAAS,GAAGxB,UAAU,CAC1BI,KAAK,CAACqB,eAAe,EACrBX,UAAU,IAAIV,KAAK,CAACsB,mBAAmB,EACvCtB,KAAK,CAACY,OACR,CAAC;EAED,MAAMW,IAAI,GAAGX,OAAO,gBAClBpB,KAAA,CAAAgC,aAAA;IAAKC,SAAS,EAAEL,SAAU;IAAC,aAAU,cAAc;IAAC,cAAYf;EAAc,gBAC5Eb,KAAA,CAAAgC,aAAA,CAAC1B,UAAU,EAAKqB,SAAY,CACzB,CAAC,GACJ,IAAI;EAER,MAAMO,sBAAsB,GAAG;IAC7BC,IAAI,EAAE,SAAS;IACf,YAAY,EAAEvB,eAAe;IAC7B,WAAW,EAAEO,QAAQ;IACrBiB,IAAI,EAAE,cAAc;IACpBtB,OAAO,EAAEQ,aAAa;IACtBX,QAAQ;IACRsB,SAAS,EAAEhB;EACb,CAAC;EAED,oBACEjB,KAAA,CAAAgC,aAAA;IAAKC,SAAS,EAAEzB,KAAK,CAAC6B,kBAAmB;IAAC,aAAU;EAAsB,gBACxErC,KAAA,CAAAgC,aAAA,CAAC3B,cAAc,EAAK6B,sBAAyB,CAAC,EAC7CH,IACE,CAAC;AAEV,CAAC;AAEDtB,qBAAqB,CAACF,SAAS,GAAA+B,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAGjC,SAAS;AAE3C,eAAeE,qBAAqB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useState","useEffect","useRef","classnames","ButtonLinkIcon","ButtonMenu","propTypes","style","BulletPointMenuButton","props","disabled","buttonAriaLabel","menuAriaLabel","onClick","_noop","buttons","menuButtonClassName","isBulkMenu","dataName","visible","setVisible","wrapperRef","handleOnClick","event","stopPropagation","preventDefault","handleClick","clickEvent","current","contains","target","document","addEventListener","removeEventListener","menuProps","menuStyle","bulletPointMenu","bulkBulletPointMenu","menu","createElement","className","ref","bulletPointButtonProps","size","icon","bulletPointWrapper","process","env","NODE_ENV"],"sources":["../../../src/molecule/bullet-point-menu-button/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useEffect, useRef} from 'react';\nimport classnames from 'classnames';\nimport {noop} from 'lodash/fp';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport ButtonMenu from '../../atom/button-menu';\nimport propTypes, {BulletPointMenuButtonProps} from './types';\nimport style from './style.css';\n\nconst BulletPointMenuButton = (props: BulletPointMenuButtonProps) => {\n const {\n disabled = false,\n buttonAriaLabel,\n menuAriaLabel,\n onClick = noop,\n buttons,\n menuButtonClassName,\n isBulkMenu,\n 'data-name': dataName = 'bullet-point-button'\n } = props;\n const [visible, setVisible] = useState(false);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const handleOnClick = useCallback(\n (event: React.MouseEvent | React.TouchEvent) => {\n event.stopPropagation();\n event.preventDefault();\n onClick();\n setVisible(!visible);\n },\n [onClick, visible]\n );\n\n useEffect(() => {\n const handleClick = (clickEvent: MouseEvent | TouchEvent) => {\n if (\n wrapperRef &&\n wrapperRef.current &&\n !wrapperRef.current.contains(clickEvent.target as Node)\n ) {\n setVisible(false);\n }\n };\n if (visible) {\n document.addEventListener('click', handleClick);\n document.addEventListener('touchstart', handleClick);\n } else {\n document.removeEventListener('click', handleClick);\n document.removeEventListener('touchstart', handleClick);\n }\n return () => {\n document.removeEventListener('click', handleClick);\n document.removeEventListener('touchstart', handleClick);\n };\n }, [visible]);\n\n const menuProps = {\n 'data-name': 'button-menu',\n buttons\n };\n\n const menuStyle = classnames(\n style.bulletPointMenu,\n isBulkMenu && style.bulkBulletPointMenu,\n style.visible\n );\n\n const menu = visible ? (\n <div className={menuStyle} data-name=\"menu-wrapper\" aria-label={menuAriaLabel} ref={wrapperRef}>\n <ButtonMenu {...menuProps} />\n </div>\n ) : null;\n\n const bulletPointButtonProps = {\n size: 'default',\n 'aria-label': buttonAriaLabel,\n 'data-name': dataName,\n icon: 'bullet-point',\n onClick: handleOnClick,\n disabled,\n className: menuButtonClassName\n };\n\n return (\n <div className={style.bulletPointWrapper} data-name=\"bullet-point-wrapper\">\n <ButtonLinkIcon {...bulletPointButtonProps} />\n {menu}\n </div>\n );\n};\n\nBulletPointMenuButton.propTypes = propTypes;\n\nexport default BulletPointMenuButton;\n"],"mappings":"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","ignoreList":[]}
@@ -41,7 +41,7 @@ export declare type BulletPointMenuButtonProps = {
41
41
  buttonAriaLabel?: string;
42
42
  menuAriaLabel?: string;
43
43
  buttons: ButtonProps[];
44
- onClick: () => void;
44
+ onClick?: () => void;
45
45
  menuButtonClassName?: string;
46
46
  isBulkMenu?: boolean;
47
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/bullet-point-menu-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,0BAA0B,GAAG;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,oBAAY,iCAAiC,GAAG;IAAC,KAAK,EAAE,0BAA0B,CAAA;CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/bullet-point-menu-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,0BAA0B,GAAG;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,oBAAY,iCAAiC,GAAG;IAAC,KAAK,EAAE,0BAA0B,CAAA;CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["PropTypes","ButtonMenu","propTypes","string","disabled","bool","buttonAriaLabel","menuAriaLabel","buttons","onClick","func","menuButtonClassName","isBulkMenu"],"sources":["../../../src/molecule/bullet-point-menu-button/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport ButtonMenu from '../../atom/button-menu';\nimport {ButtonProps} from '../../atom/button-menu/types';\n\nconst propTypes = {\n 'data-name': PropTypes.string,\n disabled: PropTypes.bool,\n buttonAriaLabel: PropTypes.string,\n menuAriaLabel: PropTypes.string,\n buttons: ButtonMenu.propTypes.buttons,\n onClick: PropTypes.func,\n menuButtonClassName: PropTypes.string,\n isBulkMenu: PropTypes.bool\n};\n\nexport default propTypes;\n\nexport type BulletPointMenuButtonProps = {\n 'data-name'?: string;\n disabled?: boolean;\n buttonAriaLabel?: string;\n menuAriaLabel?: string;\n buttons: ButtonProps[];\n onClick: () => void;\n menuButtonClassName?: string;\n isBulkMenu?: boolean;\n};\n\nexport type BulletPointMenuButtonPropsFixture = {props: BulletPointMenuButtonProps};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,wBAAwB;AAG/C,MAAMC,SAAS,GAAG;EAChB,WAAW,EAAEF,SAAS,CAACG,MAAM;EAC7BC,QAAQ,EAAEJ,SAAS,CAACK,IAAI;EACxBC,eAAe,EAAEN,SAAS,CAACG,MAAM;EACjCI,aAAa,EAAEP,SAAS,CAACG,MAAM;EAC/BK,OAAO,EAAEP,UAAU,CAACC,SAAS,CAACM,OAAO;EACrCC,OAAO,EAAET,SAAS,CAACU,IAAI;EACvBC,mBAAmB,EAAEX,SAAS,CAACG,MAAM;EACrCS,UAAU,EAAEZ,SAAS,CAACK;AACxB,CAAC;AAED,eAAeH,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["PropTypes","ButtonMenu","propTypes","string","disabled","bool","buttonAriaLabel","menuAriaLabel","buttons","onClick","func","menuButtonClassName","isBulkMenu"],"sources":["../../../src/molecule/bullet-point-menu-button/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport ButtonMenu from '../../atom/button-menu';\nimport {ButtonProps} from '../../atom/button-menu/types';\n\nconst propTypes = {\n 'data-name': PropTypes.string,\n disabled: PropTypes.bool,\n buttonAriaLabel: PropTypes.string,\n menuAriaLabel: PropTypes.string,\n buttons: ButtonMenu.propTypes.buttons,\n onClick: PropTypes.func,\n menuButtonClassName: PropTypes.string,\n isBulkMenu: PropTypes.bool\n};\n\nexport default propTypes;\n\nexport type BulletPointMenuButtonProps = {\n 'data-name'?: string;\n disabled?: boolean;\n buttonAriaLabel?: string;\n menuAriaLabel?: string;\n buttons: ButtonProps[];\n onClick?: () => void;\n menuButtonClassName?: string;\n isBulkMenu?: boolean;\n};\n\nexport type BulletPointMenuButtonPropsFixture = {props: BulletPointMenuButtonProps};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,wBAAwB;AAG/C,MAAMC,SAAS,GAAG;EAChB,WAAW,EAAEF,SAAS,CAACG,MAAM;EAC7BC,QAAQ,EAAEJ,SAAS,CAACK,IAAI;EACxBC,eAAe,EAAEN,SAAS,CAACG,MAAM;EACjCI,aAAa,EAAEP,SAAS,CAACG,MAAM;EAC/BK,OAAO,EAAEP,UAAU,CAACC,SAAS,CAACM,OAAO;EACrCC,OAAO,EAAET,SAAS,CAACU,IAAI;EACvBC,mBAAmB,EAAEX,SAAS,CAACG,MAAM;EACrCS,UAAU,EAAEZ,SAAS,CAACK;AACxB,CAAC;AAED,eAAeH,SAAS","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-wrapper/index.js"],"names":[],"mappings":";AA+GA;;;;;;;8BA8DC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-wrapper/index.js"],"names":[],"mappings":";AA+GA;;;;;;;8BA6DC"}
@@ -117,7 +117,10 @@ const ProgressWrapper = ({
117
117
  const {
118
118
  translate
119
119
  } = context;
120
- const mandatoryCompletedModulesLocale = translate('modules_completed_mandatory');
120
+ const mandatoryCompletedModulesLocale = translate('modules_completed_mandatory', {
121
+ total: mandatoryModules,
122
+ count: completedModules > mandatoryModules ? mandatoryModules : completedModules
123
+ });
121
124
  const isLocked = progression !== 100;
122
125
  return /*#__PURE__*/React.createElement("div", {
123
126
  className: style.container,
@@ -134,10 +137,12 @@ const ProgressWrapper = ({
134
137
  className: style.statscontainer
135
138
  }, /*#__PURE__*/React.createElement("div", {
136
139
  className: style.stats
137
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", {
138
- className: style.statsNumber,
139
- "data-name": "progress-stats"
140
- }, `${completedModules > mandatoryModules ? mandatoryModules : completedModules} / ${mandatoryModules}`), mandatoryCompletedModulesLocale)), /*#__PURE__*/React.createElement("div", {
140
+ }, /*#__PURE__*/React.createElement("div", {
141
+ // eslint-disable-next-line react/no-danger
142
+ dangerouslySetInnerHTML: {
143
+ __html: mandatoryCompletedModulesLocale
144
+ }
145
+ })), /*#__PURE__*/React.createElement("div", {
141
146
  className: style.progression
142
147
  }, /*#__PURE__*/React.createElement("span", {
143
148
  className: style.statsNumber,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","convert","Title","ProgressBar","COLORS","Tag","ButtonLink","Icon","Provider","GetSkinFromContext","style","uncappedMap","_map","cap","DetailSection","index","type","isLocked","downloadUrl","stars","context","translate","skin","primarySkinColor","_get","isTypeStars","downloadButtonProps","label","link","target","href","customStyle","backgroundColor","color","width","transition","hoverBackgroundColor","hoverColor","white","icon","position","faIcon","name","size","padding","disabled","LockedTag","createElement","iconName","iconColor","cm_grey_500","preset","className","detailsInfo","detailsInfoText","detailsTitle","img","src","buttonContainer","ProgressWrapper","completedModules","mandatoryModules","title","subtitle","progression","sections","mandatoryCompletedModulesLocale","container","titleContainer","titleSize","statscontainer","stats","statsNumber","customProgressBar","positive","displayInfo","value","max","statsProgressionMobile","_isEmpty","details","section","_extends","key","commonDetailSectionPropTypes","process","env","NODE_ENV","oneOf","string","number","contextTypes","childContextTypes","propTypes","bool","arrayOf","shape"],"sources":["../../../src/molecule/progress-wrapper/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {isEmpty, map, get} from 'lodash/fp';\nimport Title from '../../atom/title';\nimport ProgressBar from '../progress-bar';\nimport {COLORS} from '../../variables/colors';\nimport Tag from '../../atom/tag';\nimport ButtonLink from '../../atom/button-link';\nimport Icon from '../../atom/icon';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\n// eslint-disable-next-line css-modules/no-unused-class\nimport style from './style.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst DetailSection = ({index, type, isLocked, downloadUrl, stars}, context) => {\n const {translate} = context;\n const skin = GetSkinFromContext(context);\n const primarySkinColor = get('common.primary', skin);\n const isTypeStars = type === 'stars';\n\n const downloadButtonProps = {\n label: translate('download'),\n link: {\n target: '_blank',\n href: downloadUrl\n },\n 'data-name': `download-${type}-button`,\n 'aria-label': `download ${type} button`,\n customStyle: {\n backgroundColor: convert(`color(${primarySkinColor} a(0.07))`),\n color: primarySkinColor,\n width: 'auto',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n hoverBackgroundColor: primarySkinColor,\n hoverColor: COLORS.white,\n icon: {\n position: 'left',\n faIcon: {\n name: 'download',\n color: primarySkinColor,\n size: 14,\n customStyle: {padding: 0}\n }\n },\n disabled: isLocked\n };\n\n const LockedTag = (\n <Tag\n label={translate('locked')}\n size=\"S\"\n icon={{\n position: 'left',\n iconName: 'lock',\n iconColor: COLORS.cm_grey_500,\n preset: 's',\n customStyle: {padding: 0}\n }}\n />\n );\n\n return isTypeStars ? (\n <div\n className={style[`detailsSection${index}`]}\n data-name={type}\n aria-label={`${type} informations`}\n >\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>{translate('bonus_stars')}</span>\n {isLocked ? LockedTag : null}\n </div>\n <div className={style.stars}>\n <Icon iconName=\"star\" iconColor=\"#FFCE0A\" backgroundColor=\"#FFF9D1\" preset=\"xl\" />\n <span>{stars}</span>\n </div>\n </div>\n </div>\n ) : (\n <div\n className={style[`detailsSection${index}`]}\n data-name={type}\n aria-label={`${type} informations`}\n >\n <img\n className={style.img}\n src={\n type === 'badge'\n ? downloadUrl\n : 'https://s3.eu-west-1.amazonaws.com/static.coorpacademy.com/assets/images/diploma.svg'\n }\n />\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>\n {type === 'diploma' ? translate('diploma') : translate('badge')}\n </span>\n {isLocked ? LockedTag : null}\n </div>\n\n <div className={style.buttonContainer}>\n <ButtonLink {...downloadButtonProps} />\n </div>\n </div>\n </div>\n );\n};\n\nconst ProgressWrapper = (\n {completedModules, mandatoryModules, title, subtitle, progression, sections},\n context\n) => {\n const {translate} = context;\n const mandatoryCompletedModulesLocale = translate('modules_completed_mandatory');\n const isLocked = progression !== 100;\n\n return (\n <div\n className={style.container}\n data-name=\"prgress-wrapper\"\n aria-label=\"progress wrapper section\"\n >\n <div className={style.titleContainer}>\n <Title type=\"form-group\" titleSize=\"medium\" title={title} subtitle={subtitle} />\n </div>\n <div className={style.statscontainer}>\n <div className={style.stats}>\n <div>\n <span className={style.statsNumber} data-name=\"progress-stats\">\n {`${\n completedModules > mandatoryModules ? mandatoryModules : completedModules\n } / ${mandatoryModules}`}\n </span>\n {mandatoryCompletedModulesLocale}\n </div>\n </div>\n <div className={style.progression}>\n <span className={style.statsNumber} data-name=\"progress-value\">\n {progression}%\n </span>\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.positive}}\n displayInfo={false}\n value={progression}\n max={100}\n />\n <div className={style.statsProgressionMobile}>\n <span className={style.statsNumber}>{progression}%</span>\n </div>\n\n {isEmpty(sections) ? null : (\n <div className={style.details}>\n {uncappedMap(\n (section, index) => (\n <DetailSection\n {...section}\n isLocked={isLocked}\n key={`${section.type}-${index}`}\n index={index}\n />\n ),\n sections\n )}\n </div>\n )}\n </div>\n );\n};\n\nconst commonDetailSectionPropTypes = {\n type: PropTypes.oneOf(['diploma', 'badge', 'stars']),\n downloadUrl: PropTypes.string,\n stars: PropTypes.number\n};\n\nDetailSection.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nDetailSection.propTypes = {\n index: PropTypes.number,\n isLocked: PropTypes.bool,\n ...commonDetailSectionPropTypes\n};\n\nProgressWrapper.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nProgressWrapper.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n completedModules: PropTypes.number,\n mandatoryModules: PropTypes.number,\n progression: PropTypes.number,\n sections: PropTypes.arrayOf(PropTypes.shape(commonDetailSectionPropTypes))\n};\n\nexport default ProgressWrapper;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","convert","Title","ProgressBar","COLORS","Tag","ButtonLink","Icon","Provider","GetSkinFromContext","style","uncappedMap","_map","cap","DetailSection","index","type","isLocked","downloadUrl","stars","context","translate","skin","primarySkinColor","_get","isTypeStars","downloadButtonProps","label","link","target","href","customStyle","backgroundColor","color","width","transition","hoverBackgroundColor","hoverColor","white","icon","position","faIcon","name","size","padding","disabled","LockedTag","createElement","iconName","iconColor","cm_grey_500","preset","className","detailsInfo","detailsInfoText","detailsTitle","img","src","buttonContainer","ProgressWrapper","completedModules","mandatoryModules","title","subtitle","progression","sections","mandatoryCompletedModulesLocale","total","count","container","titleContainer","titleSize","statscontainer","stats","dangerouslySetInnerHTML","__html","statsNumber","customProgressBar","positive","displayInfo","value","max","statsProgressionMobile","_isEmpty","details","section","_extends","key","commonDetailSectionPropTypes","process","env","NODE_ENV","oneOf","string","number","contextTypes","childContextTypes","propTypes","bool","arrayOf","shape"],"sources":["../../../src/molecule/progress-wrapper/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {isEmpty, map, get} from 'lodash/fp';\nimport Title from '../../atom/title';\nimport ProgressBar from '../progress-bar';\nimport {COLORS} from '../../variables/colors';\nimport Tag from '../../atom/tag';\nimport ButtonLink from '../../atom/button-link';\nimport Icon from '../../atom/icon';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\n// eslint-disable-next-line css-modules/no-unused-class\nimport style from './style.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst DetailSection = ({index, type, isLocked, downloadUrl, stars}, context) => {\n const {translate} = context;\n const skin = GetSkinFromContext(context);\n const primarySkinColor = get('common.primary', skin);\n const isTypeStars = type === 'stars';\n\n const downloadButtonProps = {\n label: translate('download'),\n link: {\n target: '_blank',\n href: downloadUrl\n },\n 'data-name': `download-${type}-button`,\n 'aria-label': `download ${type} button`,\n customStyle: {\n backgroundColor: convert(`color(${primarySkinColor} a(0.07))`),\n color: primarySkinColor,\n width: 'auto',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n hoverBackgroundColor: primarySkinColor,\n hoverColor: COLORS.white,\n icon: {\n position: 'left',\n faIcon: {\n name: 'download',\n color: primarySkinColor,\n size: 14,\n customStyle: {padding: 0}\n }\n },\n disabled: isLocked\n };\n\n const LockedTag = (\n <Tag\n label={translate('locked')}\n size=\"S\"\n icon={{\n position: 'left',\n iconName: 'lock',\n iconColor: COLORS.cm_grey_500,\n preset: 's',\n customStyle: {padding: 0}\n }}\n />\n );\n\n return isTypeStars ? (\n <div\n className={style[`detailsSection${index}`]}\n data-name={type}\n aria-label={`${type} informations`}\n >\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>{translate('bonus_stars')}</span>\n {isLocked ? LockedTag : null}\n </div>\n <div className={style.stars}>\n <Icon iconName=\"star\" iconColor=\"#FFCE0A\" backgroundColor=\"#FFF9D1\" preset=\"xl\" />\n <span>{stars}</span>\n </div>\n </div>\n </div>\n ) : (\n <div\n className={style[`detailsSection${index}`]}\n data-name={type}\n aria-label={`${type} informations`}\n >\n <img\n className={style.img}\n src={\n type === 'badge'\n ? downloadUrl\n : 'https://s3.eu-west-1.amazonaws.com/static.coorpacademy.com/assets/images/diploma.svg'\n }\n />\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>\n {type === 'diploma' ? translate('diploma') : translate('badge')}\n </span>\n {isLocked ? LockedTag : null}\n </div>\n\n <div className={style.buttonContainer}>\n <ButtonLink {...downloadButtonProps} />\n </div>\n </div>\n </div>\n );\n};\n\nconst ProgressWrapper = (\n {completedModules, mandatoryModules, title, subtitle, progression, sections},\n context\n) => {\n const {translate} = context;\n const mandatoryCompletedModulesLocale = translate('modules_completed_mandatory', {\n total: mandatoryModules,\n count: completedModules > mandatoryModules ? mandatoryModules : completedModules\n });\n const isLocked = progression !== 100;\n\n return (\n <div\n className={style.container}\n data-name=\"prgress-wrapper\"\n aria-label=\"progress wrapper section\"\n >\n <div className={style.titleContainer}>\n <Title type=\"form-group\" titleSize=\"medium\" title={title} subtitle={subtitle} />\n </div>\n <div className={style.statscontainer}>\n <div className={style.stats}>\n <div\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: mandatoryCompletedModulesLocale}}\n />\n </div>\n <div className={style.progression}>\n <span className={style.statsNumber} data-name=\"progress-value\">\n {progression}%\n </span>\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.positive}}\n displayInfo={false}\n value={progression}\n max={100}\n />\n <div className={style.statsProgressionMobile}>\n <span className={style.statsNumber}>{progression}%</span>\n </div>\n\n {isEmpty(sections) ? null : (\n <div className={style.details}>\n {uncappedMap(\n (section, index) => (\n <DetailSection\n {...section}\n isLocked={isLocked}\n key={`${section.type}-${index}`}\n index={index}\n />\n ),\n sections\n )}\n </div>\n )}\n </div>\n );\n};\n\nconst commonDetailSectionPropTypes = {\n type: PropTypes.oneOf(['diploma', 'badge', 'stars']),\n downloadUrl: PropTypes.string,\n stars: PropTypes.number\n};\n\nDetailSection.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nDetailSection.propTypes = {\n index: PropTypes.number,\n isLocked: PropTypes.bool,\n ...commonDetailSectionPropTypes\n};\n\nProgressWrapper.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nProgressWrapper.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n completedModules: PropTypes.number,\n mandatoryModules: PropTypes.number,\n progression: PropTypes.number,\n sections: PropTypes.arrayOf(PropTypes.shape(commonDetailSectionPropTypes))\n};\n\nexport default ProgressWrapper;\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  import _isNil from "lodash/fp/isNil";
2
2
  import _round from "lodash/fp/round";
3
- import _lowerCase from "lodash/fp/lowerCase";
4
3
  import _compact from "lodash/fp/compact";
5
4
  import React, { useCallback, useEffect, useRef, useState, useMemo } from 'react';
6
5
  import PropTypes from 'prop-types';
@@ -96,7 +95,9 @@ const CertificationDetail = (props, context) => {
96
95
  }
97
96
  })) : null) : null, /*#__PURE__*/React.createElement("div", {
98
97
  className: style.contentStats
99
- }, /*#__PURE__*/React.createElement("span", null, `${totalModules} ${_lowerCase(translate('modules'))}`)), /*#__PURE__*/React.createElement(ContinueLearningButton, {
98
+ }, /*#__PURE__*/React.createElement("span", null, `${translate('modules', {
99
+ count: totalModules
100
+ })}`)), /*#__PURE__*/React.createElement(ContinueLearningButton, {
100
101
  ongoingCoursesAvailable: ongoingCoursesAvailable,
101
102
  onClick: onContinueLearningClick
102
103
  }))), /*#__PURE__*/React.createElement(ProgressWrapper, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useRef","useState","useMemo","PropTypes","classnames","Markdown","Provider","Tag","SelectOptionPropTypes","ButtonLinkIcon","Icon","CardsGrid","AllCourses","ContinueLearningButton","ProgressWrapper","style","CertificationDetail","props","context","certificationRef","title","tag","description","certificationCourses","ongoingCoursesAvailable","filters","onBackClick","onContinueLearningClick","metrics","logoUrl","diplomaUrl","badgeUrl","search","descriptionRef","translate","progression","mandatoryModules","stars","totalModules","isDescriptionTruncated","setIsDescriptionTruncated","showMore","setShowMore","handleShowMore","current","clientHeight","scrollHeight","Description","createElement","ref","className","truncate","completedModules","_round","backgroundContainer","container","_isNil","faIcon","onClick","backButton","tooltipPlacement","ctaContainer","logoContainer","logo","src","label","Fragment","showMoreWrapper","iconName","size","faSize","wrapperSize","contentStats","_lowerCase","subtitle","sections","_compact","type","downloadUrl","content","contextTypes","skin","childContextTypes","propTypes","process","env","NODE_ENV","string","isRequired","shape","number","bool","onChange","func","options","arrayOf","oldValue"],"sources":["../../../src/template/certification-detail/index.js"],"sourcesContent":["import React, {useCallback, useEffect, useRef, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {compact, lowerCase, round, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport AllCourses from '../skill-detail/all-courses';\nimport {ContinueLearningButton} from '../skill-detail';\nimport ProgressWrapper from '../../molecule/progress-wrapper';\nimport style from './style.css';\n\nconst CertificationDetail = (props, context) => {\n const {\n certificationRef,\n title,\n tag,\n description,\n certificationCourses,\n ongoingCoursesAvailable,\n filters,\n onBackClick,\n onContinueLearningClick,\n metrics,\n logoUrl,\n diplomaUrl,\n badgeUrl,\n search\n } = props;\n const descriptionRef = useRef(null);\n const {translate} = context;\n\n const {progression, mandatoryModules, stars, totalModules} = metrics;\n\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n className={classnames(style.description, !showMore && style.truncate)}\n >\n <Markdown>{description}</Markdown>\n </div>\n );\n }, [showMore, description]);\n\n const completedModules = useMemo(\n () => round((mandatoryModules * progression) / 100),\n [mandatoryModules, progression]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={certificationRef}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n <div className={style.ctaContainer}>\n <div className={style.logoContainer}>\n <img className={style.logo} src={logoUrl} />\n </div>\n <div>\n <Tag label={tag} />\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {translate(showMore ? 'Show less' : 'Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 14, wrapperSize: 16}}\n />\n </div>\n ) : null}\n </>\n ) : null}\n <div className={style.contentStats}>\n <span>{`${totalModules} ${lowerCase(translate('modules'))}`}</span>\n </div>\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n <ProgressWrapper\n title={translate('your_progress')}\n subtitle={translate('certification_progress_wrapper_subtitle')}\n progression={progression}\n completedModules={completedModules}\n mandatoryModules={mandatoryModules}\n sections={compact([\n diplomaUrl && {\n type: 'diploma',\n downloadUrl: diplomaUrl\n },\n badgeUrl && {\n type: 'badge',\n downloadUrl: badgeUrl\n },\n stars && {\n type: 'stars',\n stars\n }\n ])}\n />\n <AllCourses\n content={certificationCourses}\n filters={filters}\n data-name=\"certification-courses\"\n search={search}\n />\n </div>\n </div>\n );\n};\n\nCertificationDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nCertificationDetail.propTypes = {\n title: PropTypes.string.isRequired,\n tag: PropTypes.string,\n certificationRef: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n logoUrl: PropTypes.string,\n metrics: PropTypes.shape({\n progression: PropTypes.number,\n stars: PropTypes.number,\n mandatoryModules: PropTypes.number,\n totalModules: PropTypes.number\n }),\n diplomaUrl: PropTypes.string,\n badgeUrl: PropTypes.string,\n ongoingCoursesAvailable: PropTypes.bool,\n certificationCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n onBackClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func,\n search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n })\n};\n\nexport default CertificationDetail;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useRef","useState","useMemo","PropTypes","classnames","Markdown","Provider","Tag","SelectOptionPropTypes","ButtonLinkIcon","Icon","CardsGrid","AllCourses","ContinueLearningButton","ProgressWrapper","style","CertificationDetail","props","context","certificationRef","title","tag","description","certificationCourses","ongoingCoursesAvailable","filters","onBackClick","onContinueLearningClick","metrics","logoUrl","diplomaUrl","badgeUrl","search","descriptionRef","translate","progression","mandatoryModules","stars","totalModules","isDescriptionTruncated","setIsDescriptionTruncated","showMore","setShowMore","handleShowMore","current","clientHeight","scrollHeight","Description","createElement","ref","className","truncate","completedModules","_round","backgroundContainer","container","_isNil","faIcon","onClick","backButton","tooltipPlacement","ctaContainer","logoContainer","logo","src","label","Fragment","showMoreWrapper","iconName","size","faSize","wrapperSize","contentStats","count","subtitle","sections","_compact","type","downloadUrl","content","contextTypes","skin","childContextTypes","propTypes","process","env","NODE_ENV","string","isRequired","shape","number","bool","onChange","func","options","arrayOf","oldValue"],"sources":["../../../src/template/certification-detail/index.js"],"sourcesContent":["import React, {useCallback, useEffect, useRef, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {compact, round, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport AllCourses from '../skill-detail/all-courses';\nimport {ContinueLearningButton} from '../skill-detail';\nimport ProgressWrapper from '../../molecule/progress-wrapper';\nimport style from './style.css';\n\nconst CertificationDetail = (props, context) => {\n const {\n certificationRef,\n title,\n tag,\n description,\n certificationCourses,\n ongoingCoursesAvailable,\n filters,\n onBackClick,\n onContinueLearningClick,\n metrics,\n logoUrl,\n diplomaUrl,\n badgeUrl,\n search\n } = props;\n const descriptionRef = useRef(null);\n const {translate} = context;\n\n const {progression, mandatoryModules, stars, totalModules} = metrics;\n\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n className={classnames(style.description, !showMore && style.truncate)}\n >\n <Markdown>{description}</Markdown>\n </div>\n );\n }, [showMore, description]);\n\n const completedModules = useMemo(\n () => round((mandatoryModules * progression) / 100),\n [mandatoryModules, progression]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={certificationRef}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n <div className={style.ctaContainer}>\n <div className={style.logoContainer}>\n <img className={style.logo} src={logoUrl} />\n </div>\n <div>\n <Tag label={tag} />\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {translate(showMore ? 'Show less' : 'Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 14, wrapperSize: 16}}\n />\n </div>\n ) : null}\n </>\n ) : null}\n <div className={style.contentStats}>\n <span>{`${translate('modules', {count: totalModules})}`}</span>\n </div>\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n <ProgressWrapper\n title={translate('your_progress')}\n subtitle={translate('certification_progress_wrapper_subtitle')}\n progression={progression}\n completedModules={completedModules}\n mandatoryModules={mandatoryModules}\n sections={compact([\n diplomaUrl && {\n type: 'diploma',\n downloadUrl: diplomaUrl\n },\n badgeUrl && {\n type: 'badge',\n downloadUrl: badgeUrl\n },\n stars && {\n type: 'stars',\n stars\n }\n ])}\n />\n <AllCourses\n content={certificationCourses}\n filters={filters}\n data-name=\"certification-courses\"\n search={search}\n />\n </div>\n </div>\n );\n};\n\nCertificationDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nCertificationDetail.propTypes = {\n title: PropTypes.string.isRequired,\n tag: PropTypes.string,\n certificationRef: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n logoUrl: PropTypes.string,\n metrics: PropTypes.shape({\n progression: PropTypes.number,\n stars: PropTypes.number,\n mandatoryModules: PropTypes.number,\n totalModules: PropTypes.number\n }),\n diplomaUrl: PropTypes.string,\n badgeUrl: PropTypes.string,\n ongoingCoursesAvailable: PropTypes.bool,\n certificationCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n onBackClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func,\n search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n })\n};\n\nexport default CertificationDetail;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAGC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,OAAO,QAAO,OAAO;AAC9E,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,QAAQ,MAAM,qBAAqB;AAC1C,OAAOC,GAAG,MAAM,gBAAgB;AAChC,SAAQC,qBAAqB,QAAO,mBAAmB;AACvD,OAAOC,cAAc,MAAM,6BAA6B;AACxD,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,SAAS,MAAM,2BAA2B;AACjD,OAAOC,UAAU,MAAM,6BAA6B;AACpD,SAAQC,sBAAsB,QAAO,iBAAiB;AACtD,OAAOC,eAAe,MAAM,iCAAiC;AAC7D,OAAOC,KAAK,MAAM,aAAa;AAE/B,MAAMC,mBAAmB,GAAGA,CAACC,KAAK,EAAEC,OAAO,KAAK;EAC9C,MAAM;IACJC,gBAAgB;IAChBC,KAAK;IACLC,GAAG;IACHC,WAAW;IACXC,oBAAoB;IACpBC,uBAAuB;IACvBC,OAAO;IACPC,WAAW;IACXC,uBAAuB;IACvBC,OAAO;IACPC,OAAO;IACPC,UAAU;IACVC,QAAQ;IACRC;EACF,CAAC,GAAGf,KAAK;EACT,MAAMgB,cAAc,GAAGjC,MAAM,CAAC,IAAI,CAAC;EACnC,MAAM;IAACkC;EAAS,CAAC,GAAGhB,OAAO;EAE3B,MAAM;IAACiB,WAAW;IAAEC,gBAAgB;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAGV,OAAO;EAEpE,MAAM,CAACW,sBAAsB,EAAEC,yBAAyB,CAAC,GAAGvC,QAAQ,CAAC,KAAK,CAAC;EAC3E,MAAM,CAACwC,QAAQ,EAAEC,WAAW,CAAC,GAAGzC,QAAQ,CAAC,KAAK,CAAC;EAE/C,MAAM0C,cAAc,GAAG7C,WAAW,CAAC,MAAM4C,WAAW,CAAC,CAACD,QAAQ,CAAC,EAAE,CAACC,WAAW,EAAED,QAAQ,CAAC,CAAC;EAEzF1C,SAAS,CAAC,MAAM;IACd,IAAIkC,cAAc,CAACW,OAAO,EAAE;MAC1B,MAAM;QAACC,YAAY,GAAG,CAAC;QAAEC,YAAY,GAAG;MAAC,CAAC,GAAGb,cAAc,CAACW,OAAO;MACnEJ,yBAAyB,CAACM,YAAY,GAAGD,YAAY,CAAC;IACxD;EACF,CAAC,EAAE,CAACvB,WAAW,CAAC,CAAC;EAEjB,MAAMyB,WAAW,GAAGjD,WAAW,CAAC,MAAM;IACpC,oBACED,KAAA,CAAAmD,aAAA;MACEC,GAAG,EAAEhB,cAAe;MACpBiB,SAAS,EAAE9C,UAAU,CAACW,KAAK,CAACO,WAAW,EAAE,CAACmB,QAAQ,IAAI1B,KAAK,CAACoC,QAAQ;IAAE,gBAEtEtD,KAAA,CAAAmD,aAAA,CAAC3C,QAAQ,QAAEiB,WAAsB,CAC9B,CAAC;EAEV,CAAC,EAAE,CAACmB,QAAQ,EAAEnB,WAAW,CAAC,CAAC;EAE3B,MAAM8B,gBAAgB,GAAGlD,OAAO,CAC9B,MAAMmD,MAAA,CAAOjB,gBAAgB,GAAGD,WAAW,GAAI,GAAG,CAAC,EACnD,CAACC,gBAAgB,EAAED,WAAW,CAChC,CAAC;EAED,oBACEtC,KAAA,CAAAmD,aAAA;IAAKE,SAAS,EAAEnC,KAAK,CAACuC;EAAoB,gBACxCzD,KAAA,CAAAmD,aAAA;IAAKE,SAAS,EAAEnC,KAAK,CAACwC,SAAU;IAAC,aAAWpC;EAAiB,GAC1D,CAACqC,MAAA,CAAM9B,WAAW,CAAC,gBAClB7B,KAAA,CAAAmD,aAAA,CAACvC,cAAc;IACbgD,MAAM,EAAC,YAAY;IACnB,aAAU,aAAa;IACvB,cAAYvB,SAAS,CAAC,MAAM,CAAE;IAC9BwB,OAAO,EAAEhC,WAAY;IACrBwB,SAAS,EAAEnC,KAAK,CAAC4C,UAAW;IAC5BC,gBAAgB,EAAC;EAAO,CACzB,CAAC,GACA,IAAI,eACR/D,KAAA,CAAAmD,aAAA;IAAKE,SAAS,EAAEnC,KAAK,CAAC8C;EAAa,gBACjChE,KAAA,CAAAmD,aAAA;IAAKE,SAAS,EAAEnC,KAAK,CAAC+C;EAAc,gBAClCjE,KAAA,CAAAmD,aAAA;IAAKE,SAAS,EAAEnC,KAAK,CAACgD,IAAK;IAACC,GAAG,EAAEnC;EAAQ,CAAE,CACxC,CAAC,eACNhC,KAAA,CAAAmD,aAAA,2BACEnD,KAAA,CAAAmD,aAAA,CAACzC,GAAG;IAAC0D,KAAK,EAAE5C;EAAI,CAAE,CAAC,eACnBxB,KAAA,CAAAmD,aAAA;IAAKE,SAAS,EAAEnC,KAAK,CAACK;EAAM,GAAEA,KAAW,CAAC,EACzCE,WAAW,gBACVzB,KAAA,CAAAmD,aAAA,CAAAnD,KAAA,CAAAqE,QAAA,qBACErE,KAAA,CAAAmD,aAAA,CAACD,WAAW,MAAE,CAAC,EACdR,sBAAsB,gBACrB1C,KAAA,CAAAmD,aAAA;IAAKE,SAAS,EAAEnC,KAAK,CAACoD,eAAgB;IAACT,OAAO,EAAEf;EAAe,GAC5DT,SAAS,CAACO,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC,eAChD5C,KAAA,CAAAmD,aAAA,CAACtC,IAAI;IACH0D,QAAQ,EAAE3B,QAAQ,GAAG,YAAY,GAAG,cAAe;IACnD4B,IAAI,EAAE;MAACC,MAAM,EAAE,EAAE;MAAEC,WAAW,EAAE;IAAE;EAAE,CACrC,CACE,CAAC,GACJ,IACJ,CAAC,GACD,IAAI,eACR1E,KAAA,CAAAmD,aAAA;IAAKE,SAAS,EAAEnC,KAAK,CAACyD;EAAa,gBACjC3E,KAAA,CAAAmD,aAAA,eAAO,GAAGd,SAAS,CAAC,SAAS,EAAE;IAACuC,KAAK,EAAEnC;EAAY,CAAC,CAAC,EAAS,CAC3D,CAAC,eACNzC,KAAA,CAAAmD,aAAA,CAACnC,sBAAsB;IACrBW,uBAAuB,EAAEA,uBAAwB;IACjDkC,OAAO,EAAE/B;EAAwB,CAClC,CACE,CACF,CAAC,eACN9B,KAAA,CAAAmD,aAAA,CAAClC,eAAe;IACdM,KAAK,EAAEc,SAAS,CAAC,eAAe,CAAE;IAClCwC,QAAQ,EAAExC,SAAS,CAAC,yCAAyC,CAAE;IAC/DC,WAAW,EAAEA,WAAY;IACzBiB,gBAAgB,EAAEA,gBAAiB;IACnChB,gBAAgB,EAAEA,gBAAiB;IACnCuC,QAAQ,EAAEC,QAAA,CAAQ,CAChB9C,UAAU,IAAI;MACZ+C,IAAI,EAAE,SAAS;MACfC,WAAW,EAAEhD;IACf,CAAC,EACDC,QAAQ,IAAI;MACV8C,IAAI,EAAE,OAAO;MACbC,WAAW,EAAE/C;IACf,CAAC,EACDM,KAAK,IAAI;MACPwC,IAAI,EAAE,OAAO;MACbxC;IACF,CAAC,CACF;EAAE,CACJ,CAAC,eACFxC,KAAA,CAAAmD,aAAA,CAACpC,UAAU;IACTmE,OAAO,EAAExD,oBAAqB;IAC9BE,OAAO,EAAEA,OAAQ;IACjB,aAAU,uBAAuB;IACjCO,MAAM,EAAEA;EAAO,CAChB,CACE,CACF,CAAC;AAEV,CAAC;AAEDhB,mBAAmB,CAACgE,YAAY,GAAG;EACjCC,IAAI,EAAE3E,QAAQ,CAAC4E,iBAAiB,CAACD,IAAI;EACrC/C,SAAS,EAAE5B,QAAQ,CAAC4E,iBAAiB,CAAChD;AACxC,CAAC;AAEDlB,mBAAmB,CAACmE,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAG;EAC9BlE,KAAK,EAAEjB,SAAS,CAACoF,MAAM,CAACC,UAAU;EAClCnE,GAAG,EAAElB,SAAS,CAACoF,MAAM;EACrBpE,gBAAgB,EAAEhB,SAAS,CAACoF,MAAM,CAACC,UAAU;EAC7ClE,WAAW,EAAEnB,SAAS,CAACoF,MAAM,CAACC,UAAU;EACxC3D,OAAO,EAAE1B,SAAS,CAACoF,MAAM;EACzB3D,OAAO,EAAEzB,SAAS,CAACsF,KAAK,CAAC;IACvBtD,WAAW,EAAEhC,SAAS,CAACuF,MAAM;IAC7BrD,KAAK,EAAElC,SAAS,CAACuF,MAAM;IACvBtD,gBAAgB,EAAEjC,SAAS,CAACuF,MAAM;IAClCpD,YAAY,EAAEnC,SAAS,CAACuF;EAC1B,CAAC,CAAC;EACF5D,UAAU,EAAE3B,SAAS,CAACoF,MAAM;EAC5BxD,QAAQ,EAAE5B,SAAS,CAACoF,MAAM;EAC1B/D,uBAAuB,EAAErB,SAAS,CAACwF,IAAI;EACvCpE,oBAAoB,EAAEpB,SAAS,CAACsF,KAAK,CAAC9E,SAAS,CAACwE,SAAS,CAAC;EAC1D1D,OAAO,EAAEtB,SAAS,CAACsF,KAAK,CAAC;IACvBG,QAAQ,EAAEzF,SAAS,CAAC0F,IAAI;IACxBC,OAAO,EAAE3F,SAAS,CAAC4F,OAAO,CAAC5F,SAAS,CAACsF,KAAK,CAACjF,qBAAqB,CAAC;EACnE,CAAC,CAAC;EACFkB,WAAW,EAAEvB,SAAS,CAAC0F,IAAI;EAC3BlE,uBAAuB,EAAExB,SAAS,CAAC0F,IAAI;EACvC7D,MAAM,EAAE7B,SAAS,CAACsF,KAAK,CAAC;IACtBO,QAAQ,EAAE7F,SAAS,CAACoF,MAAM;IAC1BK,QAAQ,EAAEzF,SAAS,CAAC0F;EACtB,CAAC;AACH,CAAC;AAED,eAAe7E,mBAAmB","ignoreList":[]}
@@ -58,7 +58,7 @@ const ButtonLinkIcon = props => {
58
58
  const timer = (0, _react.useRef)();
59
59
  const contentView = getButtonContent(icon, faIcon);
60
60
  const styleButton = (0, _classnames.default)(getSizeStyle(size), link && _style.default.link, disabled && _style.default.disabled, className);
61
- const handleOnClick = (0, _react.useCallback)(() => onClick(), [onClick]);
61
+ const handleOnClick = (0, _react.useCallback)(event => onClick(event), [onClick]);
62
62
  const handleMouseOver = (0, _react.useCallback)(() => {
63
63
  timer.current && clearTimeout(timer.current);
64
64
  timer.current = setTimeout(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_buttonIcons","_icon","_link","_tooltip","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","getButtonContent","icon","faIcon","Icon","_getOr2","ICONS","createElement","className","style","buttonContent","iconName","getSizeStyle","size","small","responsive","defaultStyle","ButtonLinkIcon","props","disabled","dataName","ariaLabel","link","onClick","tooltipPlacement","toolTipIsVisible","setToolTipIsVisible","useState","timer","useRef","contentView","styleButton","classnames","handleOnClick","useCallback","handleMouseOver","current","clearTimeout","setTimeout","undefined","handleMouseLeave","TooltipContent","tooltipContentWrapper","Button","onMouseEnter","onMouseLeave","type","onMouseOver","Fragment","fontSize","anchorId","placement","closeToolTipInformationTextAriaLabel","propTypes","process","env","NODE_ENV","PropTypes","oneOf","string","_keys2","func","shape","href","download","bool","target","_default","exports"],"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.defaultStyle;\n }\n};\n\nconst ButtonLinkIcon = props => {\n const {\n size = 'default',\n disabled,\n icon,\n faIcon,\n 'data-name': dataName = 'button-icon',\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': dataName,\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': dataName,\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={dataName}\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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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_buttonIcons","_icon","_link","_tooltip","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","getButtonContent","icon","faIcon","Icon","_getOr2","ICONS","createElement","className","style","buttonContent","iconName","getSizeStyle","size","small","responsive","defaultStyle","ButtonLinkIcon","props","disabled","dataName","ariaLabel","link","onClick","tooltipPlacement","toolTipIsVisible","setToolTipIsVisible","useState","timer","useRef","contentView","styleButton","classnames","handleOnClick","useCallback","event","handleMouseOver","current","clearTimeout","setTimeout","undefined","handleMouseLeave","TooltipContent","tooltipContentWrapper","Button","onMouseEnter","onMouseLeave","type","onMouseOver","Fragment","fontSize","anchorId","placement","closeToolTipInformationTextAriaLabel","propTypes","process","env","NODE_ENV","PropTypes","oneOf","string","_keys2","func","shape","href","download","bool","target","_default","exports"],"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.defaultStyle;\n }\n};\n\nconst ButtonLinkIcon = props => {\n const {\n size = 'default',\n disabled,\n icon,\n faIcon,\n 'data-name': dataName = 'button-icon',\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(event => onClick(event), [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': dataName,\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': dataName,\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={dataName}\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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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/bullet-point-menu-button/index.tsx"],"names":[],"mappings":";AAKA,OAAkB,EAAC,0BAA0B,EAAC,MAAM,SAAS,CAAC;AAG9D,QAAA,MAAM,qBAAqB;YAAW,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2D/D,CAAC;AAIF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/bullet-point-menu-button/index.tsx"],"names":[],"mappings":";AAKA,OAAkB,EAAC,0BAA0B,EAAC,MAAM,SAAS,CAAC;AAG9D,QAAA,MAAM,qBAAqB;YAAW,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgF/D,CAAC;AAIF,eAAe,qBAAqB,CAAC"}
@@ -24,17 +24,31 @@ const BulletPointMenuButton = props => {
24
24
  'data-name': dataName = 'bullet-point-button'
25
25
  } = props;
26
26
  const [visible, setVisible] = (0, _react.useState)(false);
27
- const handleOnClick = (0, _react.useCallback)(() => {
27
+ const wrapperRef = (0, _react.useRef)(null);
28
+ const handleOnClick = (0, _react.useCallback)(event => {
29
+ event.stopPropagation();
30
+ event.preventDefault();
28
31
  onClick();
29
- setVisible(true);
30
- }, [onClick]);
32
+ setVisible(!visible);
33
+ }, [onClick, visible]);
31
34
  (0, _react.useEffect)(() => {
32
- const handleMouseDown = () => setVisible(false);
33
- document.addEventListener('mousedown', handleMouseDown);
35
+ const handleClick = clickEvent => {
36
+ if (wrapperRef && wrapperRef.current && !wrapperRef.current.contains(clickEvent.target)) {
37
+ setVisible(false);
38
+ }
39
+ };
40
+ if (visible) {
41
+ document.addEventListener('click', handleClick);
42
+ document.addEventListener('touchstart', handleClick);
43
+ } else {
44
+ document.removeEventListener('click', handleClick);
45
+ document.removeEventListener('touchstart', handleClick);
46
+ }
34
47
  return () => {
35
- document.removeEventListener('mousedown', handleMouseDown);
48
+ document.removeEventListener('click', handleClick);
49
+ document.removeEventListener('touchstart', handleClick);
36
50
  };
37
- }, []);
51
+ }, [visible]);
38
52
  const menuProps = {
39
53
  'data-name': 'button-menu',
40
54
  buttons
@@ -43,7 +57,8 @@ const BulletPointMenuButton = props => {
43
57
  const menu = visible ? /*#__PURE__*/_react.default.createElement("div", {
44
58
  className: menuStyle,
45
59
  "data-name": "menu-wrapper",
46
- "aria-label": menuAriaLabel
60
+ "aria-label": menuAriaLabel,
61
+ ref: wrapperRef
47
62
  }, /*#__PURE__*/_react.default.createElement(_buttonMenu.default, menuProps)) : null;
48
63
  const bulletPointButtonProps = {
49
64
  size: 'default',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_buttonLinkIcon","_buttonMenu","_types","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BulletPointMenuButton","props","disabled","buttonAriaLabel","menuAriaLabel","onClick","_noop2","buttons","menuButtonClassName","isBulkMenu","dataName","visible","setVisible","useState","handleOnClick","useCallback","useEffect","handleMouseDown","document","addEventListener","removeEventListener","menuProps","menuStyle","classnames","style","bulletPointMenu","bulkBulletPointMenu","menu","createElement","className","bulletPointButtonProps","size","icon","bulletPointWrapper","propTypes","process","env","NODE_ENV","_default","exports"],"sources":["../../../src/molecule/bullet-point-menu-button/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useEffect} from 'react';\nimport classnames from 'classnames';\nimport {noop} from 'lodash/fp';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport ButtonMenu from '../../atom/button-menu';\nimport propTypes, {BulletPointMenuButtonProps} from './types';\nimport style from './style.css';\n\nconst BulletPointMenuButton = (props: BulletPointMenuButtonProps) => {\n const {\n disabled = false,\n buttonAriaLabel,\n menuAriaLabel,\n onClick = noop,\n buttons,\n menuButtonClassName,\n isBulkMenu,\n 'data-name': dataName = 'bullet-point-button'\n } = props;\n const [visible, setVisible] = useState(false);\n\n const handleOnClick = useCallback(() => {\n onClick();\n setVisible(true);\n }, [onClick]);\n\n useEffect(() => {\n const handleMouseDown = () => setVisible(false);\n document.addEventListener('mousedown', handleMouseDown);\n return () => {\n document.removeEventListener('mousedown', handleMouseDown);\n };\n }, []);\n\n const menuProps = {\n 'data-name': 'button-menu',\n buttons\n };\n\n const menuStyle = classnames(\n style.bulletPointMenu,\n isBulkMenu && style.bulkBulletPointMenu,\n style.visible\n );\n\n const menu = visible ? (\n <div className={menuStyle} data-name=\"menu-wrapper\" aria-label={menuAriaLabel}>\n <ButtonMenu {...menuProps} />\n </div>\n ) : null;\n\n const bulletPointButtonProps = {\n size: 'default',\n 'aria-label': buttonAriaLabel,\n 'data-name': dataName,\n icon: 'bullet-point',\n onClick: handleOnClick,\n disabled,\n className: menuButtonClassName\n };\n\n return (\n <div className={style.bulletPointWrapper} data-name=\"bullet-point-wrapper\">\n <ButtonLinkIcon {...bulletPointButtonProps} />\n {menu}\n </div>\n );\n};\n\nBulletPointMenuButton.propTypes = propTypes;\n\nexport default BulletPointMenuButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_buttonLinkIcon","_buttonMenu","_types","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BulletPointMenuButton","props","disabled","buttonAriaLabel","menuAriaLabel","onClick","_noop2","buttons","menuButtonClassName","isBulkMenu","dataName","visible","setVisible","useState","wrapperRef","useRef","handleOnClick","useCallback","event","stopPropagation","preventDefault","useEffect","handleClick","clickEvent","current","contains","target","document","addEventListener","removeEventListener","menuProps","menuStyle","classnames","style","bulletPointMenu","bulkBulletPointMenu","menu","createElement","className","ref","bulletPointButtonProps","size","icon","bulletPointWrapper","propTypes","process","env","NODE_ENV","_default","exports"],"sources":["../../../src/molecule/bullet-point-menu-button/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useEffect, useRef} from 'react';\nimport classnames from 'classnames';\nimport {noop} from 'lodash/fp';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport ButtonMenu from '../../atom/button-menu';\nimport propTypes, {BulletPointMenuButtonProps} from './types';\nimport style from './style.css';\n\nconst BulletPointMenuButton = (props: BulletPointMenuButtonProps) => {\n const {\n disabled = false,\n buttonAriaLabel,\n menuAriaLabel,\n onClick = noop,\n buttons,\n menuButtonClassName,\n isBulkMenu,\n 'data-name': dataName = 'bullet-point-button'\n } = props;\n const [visible, setVisible] = useState(false);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const handleOnClick = useCallback(\n (event: React.MouseEvent | React.TouchEvent) => {\n event.stopPropagation();\n event.preventDefault();\n onClick();\n setVisible(!visible);\n },\n [onClick, visible]\n );\n\n useEffect(() => {\n const handleClick = (clickEvent: MouseEvent | TouchEvent) => {\n if (\n wrapperRef &&\n wrapperRef.current &&\n !wrapperRef.current.contains(clickEvent.target as Node)\n ) {\n setVisible(false);\n }\n };\n if (visible) {\n document.addEventListener('click', handleClick);\n document.addEventListener('touchstart', handleClick);\n } else {\n document.removeEventListener('click', handleClick);\n document.removeEventListener('touchstart', handleClick);\n }\n return () => {\n document.removeEventListener('click', handleClick);\n document.removeEventListener('touchstart', handleClick);\n };\n }, [visible]);\n\n const menuProps = {\n 'data-name': 'button-menu',\n buttons\n };\n\n const menuStyle = classnames(\n style.bulletPointMenu,\n isBulkMenu && style.bulkBulletPointMenu,\n style.visible\n );\n\n const menu = visible ? (\n <div className={menuStyle} data-name=\"menu-wrapper\" aria-label={menuAriaLabel} ref={wrapperRef}>\n <ButtonMenu {...menuProps} />\n </div>\n ) : null;\n\n const bulletPointButtonProps = {\n size: 'default',\n 'aria-label': buttonAriaLabel,\n 'data-name': dataName,\n icon: 'bullet-point',\n onClick: handleOnClick,\n disabled,\n className: menuButtonClassName\n };\n\n return (\n <div className={style.bulletPointWrapper} data-name=\"bullet-point-wrapper\">\n <ButtonLinkIcon {...bulletPointButtonProps} />\n {menu}\n </div>\n );\n};\n\nBulletPointMenuButton.propTypes = propTypes;\n\nexport default BulletPointMenuButton;\n"],"mappings":"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","ignoreList":[]}
@@ -41,7 +41,7 @@ export declare type BulletPointMenuButtonProps = {
41
41
  buttonAriaLabel?: string;
42
42
  menuAriaLabel?: string;
43
43
  buttons: ButtonProps[];
44
- onClick: () => void;
44
+ onClick?: () => void;
45
45
  menuButtonClassName?: string;
46
46
  isBulkMenu?: boolean;
47
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/bullet-point-menu-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,0BAA0B,GAAG;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,oBAAY,iCAAiC,GAAG;IAAC,KAAK,EAAE,0BAA0B,CAAA;CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/bullet-point-menu-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,0BAA0B,GAAG;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,oBAAY,iCAAiC,GAAG;IAAC,KAAK,EAAE,0BAA0B,CAAA;CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["_propTypes","_interopRequireDefault","require","_buttonMenu","e","__esModule","default","propTypes","PropTypes","string","disabled","bool","buttonAriaLabel","menuAriaLabel","buttons","ButtonMenu","onClick","func","menuButtonClassName","isBulkMenu","_default","exports"],"sources":["../../../src/molecule/bullet-point-menu-button/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport ButtonMenu from '../../atom/button-menu';\nimport {ButtonProps} from '../../atom/button-menu/types';\n\nconst propTypes = {\n 'data-name': PropTypes.string,\n disabled: PropTypes.bool,\n buttonAriaLabel: PropTypes.string,\n menuAriaLabel: PropTypes.string,\n buttons: ButtonMenu.propTypes.buttons,\n onClick: PropTypes.func,\n menuButtonClassName: PropTypes.string,\n isBulkMenu: PropTypes.bool\n};\n\nexport default propTypes;\n\nexport type BulletPointMenuButtonProps = {\n 'data-name'?: string;\n disabled?: boolean;\n buttonAriaLabel?: string;\n menuAriaLabel?: string;\n buttons: ButtonProps[];\n onClick: () => void;\n menuButtonClassName?: string;\n isBulkMenu?: boolean;\n};\n\nexport type BulletPointMenuButtonPropsFixture = {props: BulletPointMenuButtonProps};\n"],"mappings":";;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAgD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGhD,MAAMG,SAAS,GAAG;EAChB,WAAW,EAAEC,kBAAS,CAACC,MAAM;EAC7BC,QAAQ,EAAEF,kBAAS,CAACG,IAAI;EACxBC,eAAe,EAAEJ,kBAAS,CAACC,MAAM;EACjCI,aAAa,EAAEL,kBAAS,CAACC,MAAM;EAC/BK,OAAO,EAAEC,mBAAU,CAACR,SAAS,CAACO,OAAO;EACrCE,OAAO,EAAER,kBAAS,CAACS,IAAI;EACvBC,mBAAmB,EAAEV,kBAAS,CAACC,MAAM;EACrCU,UAAU,EAAEX,kBAAS,CAACG;AACxB,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAf,OAAA,GAEaC,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["_propTypes","_interopRequireDefault","require","_buttonMenu","e","__esModule","default","propTypes","PropTypes","string","disabled","bool","buttonAriaLabel","menuAriaLabel","buttons","ButtonMenu","onClick","func","menuButtonClassName","isBulkMenu","_default","exports"],"sources":["../../../src/molecule/bullet-point-menu-button/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport ButtonMenu from '../../atom/button-menu';\nimport {ButtonProps} from '../../atom/button-menu/types';\n\nconst propTypes = {\n 'data-name': PropTypes.string,\n disabled: PropTypes.bool,\n buttonAriaLabel: PropTypes.string,\n menuAriaLabel: PropTypes.string,\n buttons: ButtonMenu.propTypes.buttons,\n onClick: PropTypes.func,\n menuButtonClassName: PropTypes.string,\n isBulkMenu: PropTypes.bool\n};\n\nexport default propTypes;\n\nexport type BulletPointMenuButtonProps = {\n 'data-name'?: string;\n disabled?: boolean;\n buttonAriaLabel?: string;\n menuAriaLabel?: string;\n buttons: ButtonProps[];\n onClick?: () => void;\n menuButtonClassName?: string;\n isBulkMenu?: boolean;\n};\n\nexport type BulletPointMenuButtonPropsFixture = {props: BulletPointMenuButtonProps};\n"],"mappings":";;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAgD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGhD,MAAMG,SAAS,GAAG;EAChB,WAAW,EAAEC,kBAAS,CAACC,MAAM;EAC7BC,QAAQ,EAAEF,kBAAS,CAACG,IAAI;EACxBC,eAAe,EAAEJ,kBAAS,CAACC,MAAM;EACjCI,aAAa,EAAEL,kBAAS,CAACC,MAAM;EAC/BK,OAAO,EAAEC,mBAAU,CAACR,SAAS,CAACO,OAAO;EACrCE,OAAO,EAAER,kBAAS,CAACS,IAAI;EACvBC,mBAAmB,EAAEV,kBAAS,CAACC,MAAM;EACrCU,UAAU,EAAEX,kBAAS,CAACG;AACxB,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAf,OAAA,GAEaC,SAAS","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-wrapper/index.js"],"names":[],"mappings":";AA+GA;;;;;;;8BA8DC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-wrapper/index.js"],"names":[],"mappings":";AA+GA;;;;;;;8BA6DC"}