@coorpacademy/components 11.38.3-alpha.19 → 11.38.3-alpha.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 (80) hide show
  1. package/es/atom/checkbox-with-title/style.css +1 -0
  2. package/es/atom/tag/style.css +6 -3
  3. package/es/molecule/base-modal/index.d.ts.map +1 -1
  4. package/es/molecule/base-modal/index.js +3 -3
  5. package/es/molecule/base-modal/index.js.map +1 -1
  6. package/es/molecule/base-modal/style.css +1 -4
  7. package/es/molecule/card/customer.css +3 -0
  8. package/es/molecule/card/favorite.d.ts.map +1 -1
  9. package/es/molecule/card/favorite.js +0 -5
  10. package/es/molecule/card/favorite.js.map +1 -1
  11. package/es/molecule/card/index.d.ts.map +1 -1
  12. package/es/molecule/card/index.js +11 -29
  13. package/es/molecule/card/index.js.map +1 -1
  14. package/es/molecule/card/notification.css +16 -39
  15. package/es/molecule/card/notification.d.ts.map +1 -1
  16. package/es/molecule/card/notification.js +4 -26
  17. package/es/molecule/card/notification.js.map +1 -1
  18. package/es/molecule/card/style.css +14 -16
  19. package/es/molecule/card-content/index.d.ts.map +1 -1
  20. package/es/molecule/card-content/index.js +36 -79
  21. package/es/molecule/card-content/index.js.map +1 -1
  22. package/es/molecule/card-content/style.css +24 -32
  23. package/es/molecule/external-content-button/style.css +0 -1
  24. package/es/organism/content-skill-modal/index.d.ts.map +1 -1
  25. package/es/organism/content-skill-modal/index.js +5 -5
  26. package/es/organism/content-skill-modal/index.js.map +1 -1
  27. package/es/organism/filter-checkbox-and-search/index.d.ts.map +1 -1
  28. package/es/organism/filter-checkbox-and-search/index.js +3 -3
  29. package/es/organism/filter-checkbox-and-search/index.js.map +1 -1
  30. package/es/organism/list-item/style.css +1 -1
  31. package/es/template/back-office/brand-update/style.css +2 -1
  32. package/es/util/external-content.d.ts +4 -38
  33. package/es/util/external-content.d.ts.map +1 -1
  34. package/es/util/external-content.js +4 -33
  35. package/es/util/external-content.js.map +1 -1
  36. package/es/variables/colors.d.ts +0 -5
  37. package/es/variables/colors.d.ts.map +1 -1
  38. package/es/variables/colors.js +1 -6
  39. package/es/variables/colors.js.map +1 -1
  40. package/lib/atom/checkbox-with-title/style.css +1 -0
  41. package/lib/atom/tag/style.css +6 -3
  42. package/lib/molecule/base-modal/index.d.ts.map +1 -1
  43. package/lib/molecule/base-modal/index.js +3 -3
  44. package/lib/molecule/base-modal/index.js.map +1 -1
  45. package/lib/molecule/base-modal/style.css +1 -4
  46. package/lib/molecule/card/customer.css +3 -0
  47. package/lib/molecule/card/favorite.d.ts.map +1 -1
  48. package/lib/molecule/card/favorite.js +0 -5
  49. package/lib/molecule/card/favorite.js.map +1 -1
  50. package/lib/molecule/card/index.d.ts.map +1 -1
  51. package/lib/molecule/card/index.js +10 -28
  52. package/lib/molecule/card/index.js.map +1 -1
  53. package/lib/molecule/card/notification.css +16 -39
  54. package/lib/molecule/card/notification.d.ts.map +1 -1
  55. package/lib/molecule/card/notification.js +3 -25
  56. package/lib/molecule/card/notification.js.map +1 -1
  57. package/lib/molecule/card/style.css +14 -16
  58. package/lib/molecule/card-content/index.d.ts.map +1 -1
  59. package/lib/molecule/card-content/index.js +34 -77
  60. package/lib/molecule/card-content/index.js.map +1 -1
  61. package/lib/molecule/card-content/style.css +24 -32
  62. package/lib/molecule/external-content-button/style.css +0 -1
  63. package/lib/organism/content-skill-modal/index.d.ts.map +1 -1
  64. package/lib/organism/content-skill-modal/index.js +5 -5
  65. package/lib/organism/content-skill-modal/index.js.map +1 -1
  66. package/lib/organism/filter-checkbox-and-search/index.d.ts.map +1 -1
  67. package/lib/organism/filter-checkbox-and-search/index.js +3 -3
  68. package/lib/organism/filter-checkbox-and-search/index.js.map +1 -1
  69. package/lib/organism/list-item/style.css +1 -1
  70. package/lib/template/back-office/brand-update/style.css +2 -1
  71. package/lib/util/external-content.d.ts +4 -38
  72. package/lib/util/external-content.d.ts.map +1 -1
  73. package/lib/util/external-content.js +5 -34
  74. package/lib/util/external-content.js.map +1 -1
  75. package/lib/variables/colors.d.ts +0 -5
  76. package/lib/variables/colors.d.ts.map +1 -1
  77. package/lib/variables/colors.js +1 -6
  78. package/lib/variables/colors.js.map +1 -1
  79. package/locales/en/global.json +4 -4
  80. package/package.json +2 -2
@@ -35,6 +35,7 @@
35
35
  justify-content: center;
36
36
  align-items: center;
37
37
  border-radius: 4px;
38
+ cursor: pointer;
38
39
  }
39
40
 
40
41
  .container:hover .label {
@@ -26,19 +26,22 @@
26
26
  .small {
27
27
  composes: tag;
28
28
  font-size: 10px;
29
- padding: 2px 5px;
29
+ padding: 1px 6px;
30
+ line-height: 12px;
30
31
  }
31
32
 
32
33
  .medium {
33
34
  composes: tag;
34
35
  font-size: 12px;
35
- padding: 4px 8px;
36
+ padding: 1px 6px;
37
+ line-height: 16px;
36
38
  }
37
39
 
38
40
  .large {
39
41
  composes: tag;
40
42
  font-size: 14px;
41
- padding: 8px 16px;
43
+ padding: 2px 6px;
44
+ line-height: 20px;
42
45
  }
43
46
 
44
47
  .defaultStyle {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/base-modal/index.js"],"names":[],"mappings":";AAUA,yEA+KC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/base-modal/index.js"],"names":[],"mappings":";AAUA,yEA8KC"}
@@ -137,7 +137,8 @@ const BaseModal = (props, context) => {
137
137
  className: style.modalWrapper,
138
138
  "data-testid": "modal"
139
139
  }, /*#__PURE__*/React.createElement("div", {
140
- className: style.modal
140
+ className: style.modal,
141
+ style: customStyle
141
142
  }, /*#__PURE__*/React.createElement("header", {
142
143
  className: style.header
143
144
  }, headerIcon?.name ? /*#__PURE__*/React.createElement("div", {
@@ -171,8 +172,7 @@ const BaseModal = (props, context) => {
171
172
  ref: bodyRef,
172
173
  className: isScrollbarVisible ? style.body : style.bodyWithoutScrollbar,
173
174
  onScroll: onScroll,
174
- "data-testid": "modal-body",
175
- style: customStyle
175
+ "data-testid": "modal-body"
176
176
  }, children), /*#__PURE__*/React.createElement(Footer, null)));
177
177
  };
178
178
  BaseModal.contextTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useRef","useState","PropTypes","convert","Provider","Icon","ButtonLink","COLORS","style","BaseModal","props","context","title","description","headerIcon","children","isOpen","footer","onClose","onScroll","detectScrollbar","customStyle","skin","bodyRef","isScrollbarVisible","setIsScrollbarVisible","checkScrollbar","bodyElement","current","scrollHeight","clientHeight","debouncedCheckScrollbar","_debounce","mutationObserver","MutationObserver","observe","childList","subtree","resizeObserver","ResizeObserver","disconnect","cancel","Footer","_isEmpty","cancelButton","confirmButton","text","isError","label","cancelLabel","onCancel","disabled","cancelDisabled","confirmLabel","onConfirm","confirmDisabled","iconName","color","buttonConfirmColor","_get","createElement","className","footerCTAWrapper","button","type","onClick","_extends","backgroundColor","paddingLeft","hoverBackgroundColor","hoverColor","white","icon","position","faIcon","name","size","padding","footerDescription","footerDescriptionError","handleOnClose","e","stopPropagation","modalWrapper","modal","header","iconColor","faSize","wrapperSize","headerContent","headerTitle","headerDescription","headerCloseIcon","ref","body","bodyWithoutScrollbar","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","string","shape","node","bool","oneOfType","func","boolean","objectOf","number"],"sources":["../../../src/molecule/base-modal/index.js"],"sourcesContent":["import React, {useCallback, useEffect, useRef, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty, get, debounce} from 'lodash/fp';\nimport {convert} from 'css-color-function';\nimport Provider from '../../atom/provider';\nimport Icon from '../../atom/icon';\nimport ButtonLink from '../../atom/button-link';\nimport {COLORS} from '../../variables/colors';\nimport style from './style.css';\n\nconst BaseModal = (props, context) => {\n const {\n title,\n description,\n headerIcon,\n children,\n isOpen,\n footer,\n onClose,\n onScroll,\n detectScrollbar = false,\n customStyle\n } = props;\n const {skin} = context;\n const bodyRef = useRef(null);\n const [isScrollbarVisible, setIsScrollbarVisible] = useState(!detectScrollbar);\n\n const checkScrollbar = () => {\n const bodyElement = bodyRef.current;\n if (bodyElement) {\n setIsScrollbarVisible(bodyElement.scrollHeight > bodyElement.clientHeight);\n }\n };\n\n useEffect(() => {\n if (!detectScrollbar) return;\n const bodyElement = bodyRef.current;\n\n if (!bodyElement) return;\n\n const debouncedCheckScrollbar = debounce(100, () => {\n checkScrollbar();\n });\n\n // Observer of the body content\n const mutationObserver = new MutationObserver(() => {\n debouncedCheckScrollbar();\n });\n\n mutationObserver.observe(bodyElement, {childList: true, subtree: true});\n\n // Observer of the body size\n const resizeObserver = new ResizeObserver(() => {\n debouncedCheckScrollbar();\n });\n\n if (bodyRef.current) {\n resizeObserver.observe(bodyRef.current);\n }\n\n checkScrollbar();\n\n return () => {\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n debouncedCheckScrollbar.cancel();\n };\n }, [children, detectScrollbar]);\n\n const Footer = useCallback(() => {\n if (isEmpty(footer)) return null;\n if (typeof footer === 'function') return footer();\n\n const {cancelButton, confirmButton, text, isError} = footer;\n const {label: cancelLabel, onCancel, disabled: cancelDisabled} = cancelButton || {};\n const {\n label: confirmLabel,\n onConfirm,\n disabled: confirmDisabled,\n iconName,\n color\n } = confirmButton || {};\n const buttonConfirmColor = color || get('common.primary', skin);\n\n return (\n <div className={style.footer}>\n <div className={style.footerCTAWrapper}>\n {onCancel && cancelLabel ? (\n <ButtonLink\n {...{\n className: style.button,\n type: 'secondary',\n onClick: onCancel,\n label: cancelLabel,\n disabled: cancelDisabled,\n 'data-testid': `button-link-${cancelLabel}`\n }}\n />\n ) : null}\n {onConfirm && confirmLabel ? (\n <div>\n <ButtonLink\n {...{\n customStyle: {backgroundColor: buttonConfirmColor, paddingLeft: '16px'},\n hoverBackgroundColor: convert(\n `hsl(from ${buttonConfirmColor} h s calc(l*(1 - 0.08)))`\n ),\n hoverColor: COLORS.white,\n className: style.button,\n type: 'primary',\n onClick: onConfirm,\n label: confirmLabel,\n disabled: confirmDisabled,\n ...(iconName\n ? {\n icon: {\n position: 'left',\n faIcon: {\n name: iconName,\n color: COLORS.white,\n size: 14,\n customStyle: {padding: 0}\n }\n }\n }\n : {}),\n 'data-testid': `button-link-${confirmLabel}`\n }}\n />\n </div>\n ) : null}\n </div>\n {text ? (\n <div\n className={`${style.footerDescription} ${isError ? style.footerDescriptionError : ''}`}\n >\n {text}\n </div>\n ) : null}\n </div>\n );\n }, [footer, skin]);\n\n if (!isOpen || !title || !children) return null;\n\n function handleOnClose(e) {\n e?.stopPropagation();\n onClose();\n }\n\n return (\n <div className={style.modalWrapper} data-testid=\"modal\">\n <div className={style.modal}>\n <header className={style.header}>\n {headerIcon?.name ? (\n <div className={style.headerIcon}>\n <Icon\n iconName={headerIcon.name}\n iconColor={headerIcon.color}\n backgroundColor={headerIcon.backgroundColor}\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n ) : null}\n <div className={style.headerContent}>\n <div className={style.headerTitle}>{title}</div>\n {description ? <div className={style.headerDescription}>{description}</div> : null}\n </div>\n <div className={style.headerCloseIcon} onClick={handleOnClose} data-testid=\"close-icon\">\n <Icon iconName=\"close\" backgroundColor=\"#F4F4F5\" size={{faSize: 14, wrapperSize: 28}} />\n </div>\n </header>\n <div\n ref={bodyRef}\n className={isScrollbarVisible ? style.body : style.bodyWithoutScrollbar}\n onScroll={onScroll}\n data-testid=\"modal-body\"\n style={customStyle}\n >\n {children}\n </div>\n <Footer />\n </div>\n </div>\n );\n};\n\nBaseModal.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nBaseModal.propTypes = {\n title: PropTypes.string,\n headerIcon: PropTypes.shape({\n name: PropTypes.string,\n color: PropTypes.string,\n backgroundColor: PropTypes.string\n }),\n description: PropTypes.string,\n children: PropTypes.node,\n isOpen: PropTypes.bool,\n footer: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({\n text: PropTypes.string,\n isError: PropTypes.boolean,\n cancelButton: PropTypes.shape({\n label: PropTypes.string,\n onCancel: PropTypes.func,\n disabled: PropTypes.bool\n }),\n confirmButton: PropTypes.shape({\n label: PropTypes.string,\n onConfirm: PropTypes.func,\n iconName: PropTypes.string,\n disabled: PropTypes.bool,\n color: PropTypes.string\n })\n })\n ]),\n onClose: PropTypes.func,\n onScroll: PropTypes.func,\n detectScrollbar: PropTypes.bool,\n customStyle: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n};\n\nexport default BaseModal;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useRef","useState","PropTypes","convert","Provider","Icon","ButtonLink","COLORS","style","BaseModal","props","context","title","description","headerIcon","children","isOpen","footer","onClose","onScroll","detectScrollbar","customStyle","skin","bodyRef","isScrollbarVisible","setIsScrollbarVisible","checkScrollbar","bodyElement","current","scrollHeight","clientHeight","debouncedCheckScrollbar","_debounce","mutationObserver","MutationObserver","observe","childList","subtree","resizeObserver","ResizeObserver","disconnect","cancel","Footer","_isEmpty","cancelButton","confirmButton","text","isError","label","cancelLabel","onCancel","disabled","cancelDisabled","confirmLabel","onConfirm","confirmDisabled","iconName","color","buttonConfirmColor","_get","createElement","className","footerCTAWrapper","button","type","onClick","_extends","backgroundColor","paddingLeft","hoverBackgroundColor","hoverColor","white","icon","position","faIcon","name","size","padding","footerDescription","footerDescriptionError","handleOnClose","e","stopPropagation","modalWrapper","modal","header","iconColor","faSize","wrapperSize","headerContent","headerTitle","headerDescription","headerCloseIcon","ref","body","bodyWithoutScrollbar","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","string","shape","node","bool","oneOfType","func","boolean","objectOf","number"],"sources":["../../../src/molecule/base-modal/index.js"],"sourcesContent":["import React, {useCallback, useEffect, useRef, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty, get, debounce} from 'lodash/fp';\nimport {convert} from 'css-color-function';\nimport Provider from '../../atom/provider';\nimport Icon from '../../atom/icon';\nimport ButtonLink from '../../atom/button-link';\nimport {COLORS} from '../../variables/colors';\nimport style from './style.css';\n\nconst BaseModal = (props, context) => {\n const {\n title,\n description,\n headerIcon,\n children,\n isOpen,\n footer,\n onClose,\n onScroll,\n detectScrollbar = false,\n customStyle\n } = props;\n const {skin} = context;\n const bodyRef = useRef(null);\n const [isScrollbarVisible, setIsScrollbarVisible] = useState(!detectScrollbar);\n\n const checkScrollbar = () => {\n const bodyElement = bodyRef.current;\n if (bodyElement) {\n setIsScrollbarVisible(bodyElement.scrollHeight > bodyElement.clientHeight);\n }\n };\n\n useEffect(() => {\n if (!detectScrollbar) return;\n const bodyElement = bodyRef.current;\n\n if (!bodyElement) return;\n\n const debouncedCheckScrollbar = debounce(100, () => {\n checkScrollbar();\n });\n\n // Observer of the body content\n const mutationObserver = new MutationObserver(() => {\n debouncedCheckScrollbar();\n });\n\n mutationObserver.observe(bodyElement, {childList: true, subtree: true});\n\n // Observer of the body size\n const resizeObserver = new ResizeObserver(() => {\n debouncedCheckScrollbar();\n });\n\n if (bodyRef.current) {\n resizeObserver.observe(bodyRef.current);\n }\n\n checkScrollbar();\n\n return () => {\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n debouncedCheckScrollbar.cancel();\n };\n }, [children, detectScrollbar]);\n\n const Footer = useCallback(() => {\n if (isEmpty(footer)) return null;\n if (typeof footer === 'function') return footer();\n\n const {cancelButton, confirmButton, text, isError} = footer;\n const {label: cancelLabel, onCancel, disabled: cancelDisabled} = cancelButton || {};\n const {\n label: confirmLabel,\n onConfirm,\n disabled: confirmDisabled,\n iconName,\n color\n } = confirmButton || {};\n const buttonConfirmColor = color || get('common.primary', skin);\n\n return (\n <div className={style.footer}>\n <div className={style.footerCTAWrapper}>\n {onCancel && cancelLabel ? (\n <ButtonLink\n {...{\n className: style.button,\n type: 'secondary',\n onClick: onCancel,\n label: cancelLabel,\n disabled: cancelDisabled,\n 'data-testid': `button-link-${cancelLabel}`\n }}\n />\n ) : null}\n {onConfirm && confirmLabel ? (\n <div>\n <ButtonLink\n {...{\n customStyle: {backgroundColor: buttonConfirmColor, paddingLeft: '16px'},\n hoverBackgroundColor: convert(\n `hsl(from ${buttonConfirmColor} h s calc(l*(1 - 0.08)))`\n ),\n hoverColor: COLORS.white,\n className: style.button,\n type: 'primary',\n onClick: onConfirm,\n label: confirmLabel,\n disabled: confirmDisabled,\n ...(iconName\n ? {\n icon: {\n position: 'left',\n faIcon: {\n name: iconName,\n color: COLORS.white,\n size: 14,\n customStyle: {padding: 0}\n }\n }\n }\n : {}),\n 'data-testid': `button-link-${confirmLabel}`\n }}\n />\n </div>\n ) : null}\n </div>\n {text ? (\n <div\n className={`${style.footerDescription} ${isError ? style.footerDescriptionError : ''}`}\n >\n {text}\n </div>\n ) : null}\n </div>\n );\n }, [footer, skin]);\n\n if (!isOpen || !title || !children) return null;\n\n function handleOnClose(e) {\n e?.stopPropagation();\n onClose();\n }\n\n return (\n <div className={style.modalWrapper} data-testid=\"modal\">\n <div className={style.modal} style={customStyle}>\n <header className={style.header}>\n {headerIcon?.name ? (\n <div className={style.headerIcon}>\n <Icon\n iconName={headerIcon.name}\n iconColor={headerIcon.color}\n backgroundColor={headerIcon.backgroundColor}\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n ) : null}\n <div className={style.headerContent}>\n <div className={style.headerTitle}>{title}</div>\n {description ? <div className={style.headerDescription}>{description}</div> : null}\n </div>\n <div className={style.headerCloseIcon} onClick={handleOnClose} data-testid=\"close-icon\">\n <Icon iconName=\"close\" backgroundColor=\"#F4F4F5\" size={{faSize: 14, wrapperSize: 28}} />\n </div>\n </header>\n <div\n ref={bodyRef}\n className={isScrollbarVisible ? style.body : style.bodyWithoutScrollbar}\n onScroll={onScroll}\n data-testid=\"modal-body\"\n >\n {children}\n </div>\n <Footer />\n </div>\n </div>\n );\n};\n\nBaseModal.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nBaseModal.propTypes = {\n title: PropTypes.string,\n headerIcon: PropTypes.shape({\n name: PropTypes.string,\n color: PropTypes.string,\n backgroundColor: PropTypes.string\n }),\n description: PropTypes.string,\n children: PropTypes.node,\n isOpen: PropTypes.bool,\n footer: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({\n text: PropTypes.string,\n isError: PropTypes.boolean,\n cancelButton: PropTypes.shape({\n label: PropTypes.string,\n onCancel: PropTypes.func,\n disabled: PropTypes.bool\n }),\n confirmButton: PropTypes.shape({\n label: PropTypes.string,\n onConfirm: PropTypes.func,\n iconName: PropTypes.string,\n disabled: PropTypes.bool,\n color: PropTypes.string\n })\n })\n ]),\n onClose: PropTypes.func,\n onScroll: PropTypes.func,\n detectScrollbar: PropTypes.bool,\n customStyle: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n};\n\nexport default BaseModal;\n"],"mappings":"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","ignoreList":[]}
@@ -24,10 +24,6 @@
24
24
  }
25
25
 
26
26
  .modal {
27
- max-width: 71vw;
28
- max-height: 86vh;
29
- min-width: 450px;
30
- min-height: 165px;
31
27
  overflow: hidden;
32
28
  border-radius: 16px;
33
29
  background-color: white;
@@ -77,6 +73,7 @@
77
73
  min-height: 100px;
78
74
  border-top: 1px solid cm_grey_150;
79
75
  border-bottom: 1px solid cm_grey_150;
76
+ flex: 1;
80
77
  }
81
78
 
82
79
  .bodyWithoutScrollbar {
@@ -47,6 +47,9 @@
47
47
  rgba(0, 0, 0, 0) 20%
48
48
  );
49
49
  }
50
+ .chapterCustomer {
51
+ padding-top: 10px;
52
+ }
50
53
 
51
54
  .coorpmanager.customer.chapterCustomer {
52
55
  padding-top: 0px;
@@ -1 +1 @@
1
- {"version":3,"file":"favorite.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/favorite.js"],"names":[],"mappings":";AAcA;;;;;;;;oCA6IC"}
1
+ {"version":3,"file":"favorite.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/favorite.js"],"names":[],"mappings":";AAcA;;;;;;;;oCAwIC"}
@@ -33,16 +33,11 @@ const Favorite = ({
33
33
  const buttonRef = useRef(null);
34
34
  const allowToolTip = useMemo(() => !_isEmpty(removeFavoriteToolTip) && !_isEmpty(addFavoriteToolTip), [addFavoriteToolTip, removeFavoriteToolTip]);
35
35
 
36
- // eslint-disable-next-line no-console
37
- console.log('🚀 ~ favorite.js:49 ~ allowToolTip:', allowToolTip);
38
-
39
36
  // to be replaced by useId when React17 is bumped to React18
40
37
  const [favoriteButtonAnchorId] = useState(allowToolTip ? uuidV5('engaged-battle-', uuidV5.URL) : undefined);
41
38
  const toolTipContent = useMemo(
42
39
  // eslint-disable-next-line no-nested-ternary
43
40
  () => allowToolTip ? favorite ? removeFavoriteToolTip : addFavoriteToolTip : null, [addFavoriteToolTip, favorite, removeFavoriteToolTip, allowToolTip]);
44
- // eslint-disable-next-line no-console
45
- console.log('🚀 ~ favorite.js:63 ~ toolTipContent:', toolTipContent);
46
41
  const [mouseLeaveTimer, setMouseLeaveTimer] = useState(undefined);
47
42
  const [toolTipIsVisible, setToolTipIsVisible] = useState(false);
48
43
  const handleMouseOver = useCallback(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"favorite.js","names":["React","useCallback","useMemo","useRef","useState","PropTypes","classnames","v5","uuidV5","NovaCompositionNavigationMore","MoreIcon","NovaCompositionCoorpacademyCheck","CheckIcon","Provider","GetSkinFromContext","GetTranslateFromContext","ToolTip","toggleStateOnKeyPress","Button","style","Favorite","favorite","addFavoriteToolTip","removeFavoriteToolTip","className","ariaLabel","onFavoriteClick","_noop","disabled","legacyContext","skin","translate","handleFavoriteClick","e","stopPropagation","preventDefault","primaryColor","_get","darkColor","brandColor","buttonRef","allowToolTip","_isEmpty","console","log","favoriteButtonAnchorId","URL","undefined","toolTipContent","mouseLeaveTimer","setMouseLeaveTimer","toolTipIsVisible","setToolTipIsVisible","handleMouseOver","clearTimeout","_has","current","focus","handleMouseLeave","setTimeout","blur","handleKeyPress","event","iconWrapperClassName","selected","icon","createElement","checkIcon","color","width","height","removeFromFavorite","moreIcon","addToFavorite","favoriteWrapper","type","buttonContentClassName","onClick","onKeyDown","onMouseLeave","onMouseOver","tabIndex","useButtonTag","useWrapper","fontSize","anchorId","TooltipContent","closeToolTipInformationTextAriaLabel","stickyOnKeyboardNavigation","propTypes","process","env","NODE_ENV","string","bool","func","shape","contextTypes","childContextTypes"],"sources":["../../../src/molecule/card/favorite.js"],"sourcesContent":["import React, {useCallback, useMemo, useRef, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {v5 as uuidV5} from 'uuid';\nimport {get, has, isEmpty, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext, GetTranslateFromContext} from '../../atom/provider';\nimport ToolTip, {toggleStateOnKeyPress} from '../../atom/tooltip';\nimport Button from '../../atom/button';\nimport style from './favorite.css';\n\nconst Favorite = (\n {\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n className,\n 'aria-label': ariaLabel = {},\n onFavoriteClick = noop,\n disabled\n },\n legacyContext\n) => {\n const skin = GetSkinFromContext(legacyContext);\n const translate = GetTranslateFromContext(legacyContext);\n const handleFavoriteClick = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n if (!disabled) onFavoriteClick(e);\n },\n [disabled, onFavoriteClick]\n );\n\n const primaryColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const brandColor = get('common.brand', skin);\n\n const buttonRef = useRef(null);\n\n const allowToolTip = useMemo(\n () => !isEmpty(removeFavoriteToolTip) && !isEmpty(addFavoriteToolTip),\n [addFavoriteToolTip, removeFavoriteToolTip]\n );\n\n // eslint-disable-next-line no-console\n console.log('🚀 ~ favorite.js:49 ~ allowToolTip:', allowToolTip);\n\n // to be replaced by useId when React17 is bumped to React18\n const [favoriteButtonAnchorId] = useState(\n allowToolTip ? uuidV5('engaged-battle-', uuidV5.URL) : undefined\n );\n\n const toolTipContent = useMemo(\n // eslint-disable-next-line no-nested-ternary\n () => (allowToolTip ? (favorite ? removeFavoriteToolTip : addFavoriteToolTip) : null),\n [addFavoriteToolTip, favorite, removeFavoriteToolTip, allowToolTip]\n );\n // eslint-disable-next-line no-console\n console.log('🚀 ~ favorite.js:63 ~ toolTipContent:', toolTipContent);\n\n const [mouseLeaveTimer, setMouseLeaveTimer] = useState(undefined);\n\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n\n const handleMouseOver = useCallback(() => {\n mouseLeaveTimer && clearTimeout(mouseLeaveTimer);\n /* istanbul ignore next */ has(['current', 'focus'], buttonRef) && buttonRef.current.focus();\n setToolTipIsVisible(true);\n }, [mouseLeaveTimer]);\n\n const handleMouseLeave = useCallback(() => {\n setMouseLeaveTimer(\n setTimeout(() => {\n setToolTipIsVisible(false);\n // @ts-expect-error (error: blur does not exists on type never)\n /* istanbul ignore next */ has(['current', 'blur'], buttonRef) && buttonRef.current.blur();\n }, 500)\n );\n }, []);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible, buttonRef)(event);\n },\n [toolTipIsVisible]\n );\n\n const iconWrapperClassName = useMemo(\n () => classnames(style.favorite, className, favorite && style.selected),\n [className, favorite]\n );\n const icon = useMemo(\n () =>\n favorite ? (\n <CheckIcon\n // eslint-disable-next-line css-modules/no-undef-class\n className={style.checkIcon}\n style={{color: brandColor}}\n width={13}\n height={13}\n data-testid=\"favorite-check-icon\"\n aria-label={ariaLabel.removeFromFavorite}\n />\n ) : (\n <MoreIcon\n className={style.moreIcon}\n style={{color: darkColor}}\n width={13}\n height={13}\n data-testid=\"favorite-add-icon\"\n aria-label={ariaLabel.addToFavorite}\n />\n ),\n [ariaLabel.addToFavorite, ariaLabel.removeFromFavorite, brandColor, darkColor, favorite]\n );\n\n return (\n <div className={style.favoriteWrapper} data-testid=\"favorite-wrapper\">\n <Button\n buttonRef={buttonRef}\n type=\"button\"\n data-for={favoriteButtonAnchorId}\n data-tooltip-place=\"left\"\n data-tip={allowToolTip}\n data-name=\"favorite\"\n data-testid=\"favorite-button\"\n aria-label={ariaLabel.favorite}\n buttonContentClassName={iconWrapperClassName}\n onClick={handleFavoriteClick}\n style={{\n color: primaryColor\n }}\n onKeyDown={handleKeyPress}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n tabIndex={0}\n useButtonTag\n useWrapper={false}\n >\n {icon}\n </Button>\n <ToolTip\n fontSize={12}\n anchorId={favoriteButtonAnchorId}\n toolTipIsVisible={toolTipIsVisible}\n TooltipContent={toolTipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n stickyOnKeyboardNavigation\n />\n </div>\n );\n};\n\nFavorite.propTypes = {\n className: PropTypes.string,\n favorite: PropTypes.bool,\n disabled: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onFavoriteClick: PropTypes.func,\n 'aria-label': PropTypes.shape({\n favorite: PropTypes.string,\n addToFavorite: PropTypes.string,\n removeFromFavorite: PropTypes.string\n })\n};\n\nFavorite.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nexport default Favorite;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"favorite.js","names":["React","useCallback","useMemo","useRef","useState","PropTypes","classnames","v5","uuidV5","NovaCompositionNavigationMore","MoreIcon","NovaCompositionCoorpacademyCheck","CheckIcon","Provider","GetSkinFromContext","GetTranslateFromContext","ToolTip","toggleStateOnKeyPress","Button","style","Favorite","favorite","addFavoriteToolTip","removeFavoriteToolTip","className","ariaLabel","onFavoriteClick","_noop","disabled","legacyContext","skin","translate","handleFavoriteClick","e","stopPropagation","preventDefault","primaryColor","_get","darkColor","brandColor","buttonRef","allowToolTip","_isEmpty","favoriteButtonAnchorId","URL","undefined","toolTipContent","mouseLeaveTimer","setMouseLeaveTimer","toolTipIsVisible","setToolTipIsVisible","handleMouseOver","clearTimeout","_has","current","focus","handleMouseLeave","setTimeout","blur","handleKeyPress","event","iconWrapperClassName","selected","icon","createElement","checkIcon","color","width","height","removeFromFavorite","moreIcon","addToFavorite","favoriteWrapper","type","buttonContentClassName","onClick","onKeyDown","onMouseLeave","onMouseOver","tabIndex","useButtonTag","useWrapper","fontSize","anchorId","TooltipContent","closeToolTipInformationTextAriaLabel","stickyOnKeyboardNavigation","propTypes","process","env","NODE_ENV","string","bool","func","shape","contextTypes","childContextTypes"],"sources":["../../../src/molecule/card/favorite.js"],"sourcesContent":["import React, {useCallback, useMemo, useRef, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {v5 as uuidV5} from 'uuid';\nimport {get, has, isEmpty, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext, GetTranslateFromContext} from '../../atom/provider';\nimport ToolTip, {toggleStateOnKeyPress} from '../../atom/tooltip';\nimport Button from '../../atom/button';\nimport style from './favorite.css';\n\nconst Favorite = (\n {\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n className,\n 'aria-label': ariaLabel = {},\n onFavoriteClick = noop,\n disabled\n },\n legacyContext\n) => {\n const skin = GetSkinFromContext(legacyContext);\n const translate = GetTranslateFromContext(legacyContext);\n const handleFavoriteClick = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n if (!disabled) onFavoriteClick(e);\n },\n [disabled, onFavoriteClick]\n );\n\n const primaryColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const brandColor = get('common.brand', skin);\n\n const buttonRef = useRef(null);\n\n const allowToolTip = useMemo(\n () => !isEmpty(removeFavoriteToolTip) && !isEmpty(addFavoriteToolTip),\n [addFavoriteToolTip, removeFavoriteToolTip]\n );\n\n // to be replaced by useId when React17 is bumped to React18\n const [favoriteButtonAnchorId] = useState(\n allowToolTip ? uuidV5('engaged-battle-', uuidV5.URL) : undefined\n );\n\n const toolTipContent = useMemo(\n // eslint-disable-next-line no-nested-ternary\n () => (allowToolTip ? (favorite ? removeFavoriteToolTip : addFavoriteToolTip) : null),\n [addFavoriteToolTip, favorite, removeFavoriteToolTip, allowToolTip]\n );\n\n const [mouseLeaveTimer, setMouseLeaveTimer] = useState(undefined);\n\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n\n const handleMouseOver = useCallback(() => {\n mouseLeaveTimer && clearTimeout(mouseLeaveTimer);\n /* istanbul ignore next */ has(['current', 'focus'], buttonRef) && buttonRef.current.focus();\n setToolTipIsVisible(true);\n }, [mouseLeaveTimer]);\n\n const handleMouseLeave = useCallback(() => {\n setMouseLeaveTimer(\n setTimeout(() => {\n setToolTipIsVisible(false);\n // @ts-expect-error (error: blur does not exists on type never)\n /* istanbul ignore next */ has(['current', 'blur'], buttonRef) && buttonRef.current.blur();\n }, 500)\n );\n }, []);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible, buttonRef)(event);\n },\n [toolTipIsVisible]\n );\n\n const iconWrapperClassName = useMemo(\n () => classnames(style.favorite, className, favorite && style.selected),\n [className, favorite]\n );\n const icon = useMemo(\n () =>\n favorite ? (\n <CheckIcon\n // eslint-disable-next-line css-modules/no-undef-class\n className={style.checkIcon}\n style={{color: brandColor}}\n width={13}\n height={13}\n data-testid=\"favorite-check-icon\"\n aria-label={ariaLabel.removeFromFavorite}\n />\n ) : (\n <MoreIcon\n className={style.moreIcon}\n style={{color: darkColor}}\n width={13}\n height={13}\n data-testid=\"favorite-add-icon\"\n aria-label={ariaLabel.addToFavorite}\n />\n ),\n [ariaLabel.addToFavorite, ariaLabel.removeFromFavorite, brandColor, darkColor, favorite]\n );\n\n return (\n <div className={style.favoriteWrapper} data-testid=\"favorite-wrapper\">\n <Button\n buttonRef={buttonRef}\n type=\"button\"\n data-for={favoriteButtonAnchorId}\n data-tooltip-place=\"left\"\n data-tip={allowToolTip}\n data-name=\"favorite\"\n data-testid=\"favorite-button\"\n aria-label={ariaLabel.favorite}\n buttonContentClassName={iconWrapperClassName}\n onClick={handleFavoriteClick}\n style={{\n color: primaryColor\n }}\n onKeyDown={handleKeyPress}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n tabIndex={0}\n useButtonTag\n useWrapper={false}\n >\n {icon}\n </Button>\n <ToolTip\n fontSize={12}\n anchorId={favoriteButtonAnchorId}\n toolTipIsVisible={toolTipIsVisible}\n TooltipContent={toolTipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n stickyOnKeyboardNavigation\n />\n </div>\n );\n};\n\nFavorite.propTypes = {\n className: PropTypes.string,\n favorite: PropTypes.bool,\n disabled: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onFavoriteClick: PropTypes.func,\n 'aria-label': PropTypes.shape({\n favorite: PropTypes.string,\n addToFavorite: PropTypes.string,\n removeFromFavorite: PropTypes.string\n })\n};\n\nFavorite.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nexport default Favorite;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/index.js"],"names":[],"mappings":";;;;;AA8QA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BE;;;AAnKF,uDA+HG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/index.js"],"names":[],"mappings":";;;;;AA2PA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BE;;;AAlKF,uDA8HG"}
@@ -8,11 +8,9 @@ import React, { useMemo, memo } from 'react';
8
8
  import PropTypes from 'prop-types';
9
9
  import classnames from 'classnames';
10
10
  import { NovaCompositionCoorpacademyPadlock as LockIcon, NovaCompositionCoorpacademyPictures as PicturesIcon } from '@coorpacademy/nova-icons';
11
- import { isExternalContent, ICONS_TYPES, EXTERNAL_CONTENT_ICONS } from '../../util/external-content';
11
+ import { isExternalContent, EXTERNAL_CONTENT_ICONS } from '../../util/external-content';
12
12
  import Provider from '../../atom/provider';
13
13
  import CardContentInfo, { MODES } from '../card-content';
14
- import FaIcon from '../../atom/icon';
15
- import { COLORS } from '../../variables/colors';
16
14
  import Customer from './customer';
17
15
  import Favorite from './favorite';
18
16
  import Selectable from './selectable';
@@ -22,7 +20,6 @@ export const THEMES = {
22
20
  default: null,
23
21
  coorpmanager: style.coorpmanager
24
22
  };
25
- const ICON_SIZE = '28px';
26
23
  const CardBackground = ({
27
24
  type,
28
25
  image,
@@ -34,35 +31,22 @@ const CardBackground = ({
34
31
  const externalContent = isExternalContent(type);
35
32
  const primaryColor = _get('common.primary', skin);
36
33
  const whiteColor = _get('common.white', skin);
37
- if (externalContent && EXTERNAL_CONTENT_ICONS[type] || type === 'chapter') {
38
- const {
39
- iconName,
40
- iconColor
41
- } = ICONS_TYPES[type];
34
+ if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {
35
+ const IconType = EXTERNAL_CONTENT_ICONS[type].icon;
36
+ const iconColor = EXTERNAL_CONTENT_ICONS[type].color;
42
37
  const backgroundIcon = /*#__PURE__*/React.createElement("div", {
43
- className: classnames(style.externalIconCircleWrapper, style.externalIconCircleWithImageWrapper)
44
- }, /*#__PURE__*/React.createElement(FaIcon, {
45
- iconName: iconName,
46
- customStyle: {
47
- color: COLORS.white,
48
- height: ICON_SIZE,
49
- width: ICON_SIZE
50
- }
38
+ className: style.externalIconCircleWrapper
39
+ }, /*#__PURE__*/React.createElement(IconType, {
40
+ className: style.externalIcon
51
41
  }));
52
42
  if (image) {
53
43
  const _backgroundIcon = /*#__PURE__*/React.createElement("div", {
54
44
  className: classnames(style.externalIconCircleWrapper, style.externalIconCircleWithImageWrapper),
55
45
  style: {
56
46
  backgroundColor: iconColor
57
- },
58
- "data-testid": "card-background-image"
59
- }, /*#__PURE__*/React.createElement(FaIcon, {
60
- iconName: iconName,
61
- customStyle: {
62
- color: COLORS.white,
63
- height: ICON_SIZE,
64
- width: ICON_SIZE
65
47
  }
48
+ }, /*#__PURE__*/React.createElement(IconType, {
49
+ className: style.externalIconWithImage
66
50
  }));
67
51
  return /*#__PURE__*/React.createElement("div", {
68
52
  className: style.imageWrapper
@@ -94,7 +78,7 @@ const CardBackground = ({
94
78
  }
95
79
  }) : null;
96
80
  return /*#__PURE__*/React.createElement("div", {
97
- className: style.imageWrapper
81
+ className: classnames(style.imageWrapper, type === 'chapter' ? style.chapterImageWrapper : null)
98
82
  }, /*#__PURE__*/React.createElement("div", {
99
83
  "data-name": "cover",
100
84
  "aria-label": ariaLabel,
@@ -151,7 +135,7 @@ const Card = /*#__PURE__*/memo(function Card(props, context) {
151
135
  } = props;
152
136
  const empty = _isEmpty(_pick(['title', 'type', 'author', 'image'], props));
153
137
  const primaryColor = _get('common.primary', skin);
154
- const cardStyle = classnames(THEMES[theme], style.course, title ? null : style.lazy, style.grid, empty ? style.empty : null);
138
+ const cardStyle = classnames(THEMES[theme], type === 'chapter' ? style.chapter : style.course, title ? null : style.lazy, style.grid, empty ? style.empty : null);
155
139
  const disabled = hidden && (!isSelected || _isUndefined(isSelected));
156
140
  const handleClick = useMemo(() => e => onClick(e), [onClick]);
157
141
  const lock = disabled ? /*#__PURE__*/React.createElement("div", {
@@ -180,8 +164,6 @@ const Card = /*#__PURE__*/memo(function Card(props, context) {
180
164
  return contentType;
181
165
  }
182
166
  };
183
- // eslint-disable-next-line no-console
184
- console.log('type of card', type, 'favorite', favorite);
185
167
  return /*#__PURE__*/React.createElement("div", {
186
168
  className: cardStyle,
187
169
  "data-name": "card",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","memo","PropTypes","classnames","NovaCompositionCoorpacademyPadlock","LockIcon","NovaCompositionCoorpacademyPictures","PicturesIcon","isExternalContent","ICONS_TYPES","EXTERNAL_CONTENT_ICONS","Provider","CardContentInfo","MODES","FaIcon","COLORS","Customer","Favorite","Selectable","Notification","style","THEMES","default","coorpmanager","ICON_SIZE","CardBackground","type","image","empty","ariaLabel","skin","externalContent","primaryColor","_get","whiteColor","iconName","iconColor","backgroundIcon","createElement","className","externalIconCircleWrapper","externalIconCircleWithImageWrapper","customStyle","color","white","height","width","_backgroundIcon","backgroundColor","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","string","bool","Card","props","context","badge","adaptiv","disabled","hidden","title","author","customer","certifiedAuthor","progress","favorite","addFavoriteToolTip","removeFavoriteToolTip","onClick","onFavoriteClick","isSelected","notification","badgeCategory","badgeLabel","theme","disabledContent","cardArialabel","backgroundAriaLabel","favoriteAriaLabel","selectableAriaLabel","customerAriaLabel","badgeAriaLabel","disabledArialabel","cardContentLabelAriaLabel","_isEmpty","_pick","cardStyle","course","lazy","grid","_isUndefined","handleClick","e","lock","lockContent","lockIcon","dangerouslySetInnerHTML","__html","inlineBadgeStyle","getType","contentType","console","log","_extends","mode","CARD","lockWrapper","cardPropTypes","shape","number","func","oneOf","_keys"],"sources":["../../../src/molecule/card/index.js"],"sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyPadlock as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, ICONS_TYPES, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport FaIcon from '../../atom/icon';\nimport {COLORS} from '../../variables/colors';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst ICON_SIZE = '28px';\n\nconst CardBackground = ({type, image, empty, 'aria-label': ariaLabel}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if ((externalContent && EXTERNAL_CONTENT_ICONS[type]) || type === 'chapter') {\n const {iconName, iconColor} = ICONS_TYPES[type];\n const backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n >\n <FaIcon\n iconName={iconName}\n customStyle={{\n color: COLORS.white,\n height: ICON_SIZE,\n width: ICON_SIZE\n }}\n />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n data-testid=\"card-background-image\"\n >\n <FaIcon\n iconName={iconName}\n customStyle={{\n color: COLORS.white,\n height: ICON_SIZE,\n width: ICON_SIZE\n }}\n />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? (\n <PicturesIcon className={style.emptyIcon} style={{color: whiteColor}} />\n ) : null;\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled: hidden = false,\n type = 'course',\n title,\n author,\n customer,\n certifiedAuthor,\n progress,\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n onClick,\n onFavoriteClick,\n isSelected,\n notification,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n disabledContent,\n 'aria-label': cardArialabel,\n 'background-aria-label': backgroundAriaLabel,\n 'favorite-aria-label': favoriteAriaLabel,\n 'selectable-aria-label': selectableAriaLabel,\n 'customer-aria-label': customerAriaLabel,\n 'badge-aria-label': badgeAriaLabel,\n 'disabled-aria-label': disabledArialabel,\n 'card-content-aria-label': cardContentLabelAriaLabel\n } = props;\n const empty = isEmpty(pick(['title', 'type', 'author', 'image'], props));\n const primaryColor = get('common.primary', skin);\n const cardStyle = classnames(\n THEMES[theme],\n style.course,\n title ? null : style.lazy,\n style.grid,\n empty ? style.empty : null\n );\n const disabled = hidden && (!isSelected || isUndefined(isSelected));\n const handleClick = useMemo(() => e => onClick(e), [onClick]);\n const lock = disabled ? (\n <div className={style.lockContent}>\n <LockIcon className={style.lockIcon} height={48} />\n <span\n aria-label={disabledArialabel}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: disabledContent}}\n />\n </div>\n ) : null;\n const inlineBadgeStyle = {color: primaryColor};\n const getType = contentType => {\n switch (contentType) {\n case 'chapter':\n return 'microlearning';\n case 'course':\n return 'learner';\n default:\n return contentType;\n }\n };\n // eslint-disable-next-line no-console\n console.log('type of card', type, 'favorite', favorite);\n return (\n <div\n className={cardStyle}\n data-name=\"card\"\n data-lock={disabled}\n data-type={getType(type)}\n disabled={disabled}\n onClick={handleClick}\n aria-label={cardArialabel}\n >\n <CardBackground type={type} image={image} empty={empty} aria-label={backgroundAriaLabel} />\n {isUndefined(isSelected) && !isUndefined(favorite) ? (\n <Favorite\n className={style.favorite}\n favorite={favorite}\n disabled={disabled}\n onFavoriteClick={onFavoriteClick}\n addFavoriteToolTip={addFavoriteToolTip}\n removeFavoriteToolTip={removeFavoriteToolTip}\n aria-label={favoriteAriaLabel}\n />\n ) : null}\n <Selectable isSelected={isSelected} hidden={hidden} aria-label={selectableAriaLabel} />\n {notification ? <Notification {...notification} /> : null}\n {customer ? (\n <Customer\n {...customer}\n theme={theme}\n type={type}\n disabled={disabled}\n aria-label={customerAriaLabel}\n />\n ) : null}\n <CardContentInfo\n mode={MODES.CARD}\n adaptiv={adaptiv}\n author={author}\n certifiedAuthor={certifiedAuthor}\n disabled={disabled}\n empty={empty}\n progress={progress}\n title={title}\n type={type}\n badgeCategory={badgeCategory}\n badgeLabel={badgeLabel}\n theme={theme}\n aria-label={cardContentLabelAriaLabel}\n />\n {badge ? (\n <div className={style.badge} style={inlineBadgeStyle} aria-label={badgeAriaLabel}>\n {badge}\n </div>\n ) : null}\n {disabled ? (\n <div className={style.lockWrapper} aria-label={disabledArialabel}>\n {lock}\n </div>\n ) : null}\n </div>\n );\n});\n\nCard.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport const cardPropTypes = {\n badge: PropTypes.string,\n image: PropTypes.string,\n disabled: PropTypes.bool,\n adaptiv: PropTypes.bool,\n type: PropTypes.string,\n title: PropTypes.string,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n customer: PropTypes.shape(Customer.propTypes),\n progress: PropTypes.number,\n favorite: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onClick: PropTypes.func,\n onFavoriteClick: PropTypes.func,\n isSelected: PropTypes.bool,\n notification: PropTypes.shape(Notification.propTypes),\n badgeCategory: CardContentInfo.propTypes.badgeCategory,\n badgeLabel: CardContentInfo.propTypes.badgeLabel,\n theme: PropTypes.oneOf(keys(THEMES)),\n disabledContent: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'background-aria-label': PropTypes.string,\n 'favorite-aria-label': Favorite.propTypes['aria-label'],\n 'selectable-aria-label': Selectable.propTypes['aria-label'],\n 'customer-aria-label': Customer.propTypes['aria-label'],\n 'badge-aria-label': PropTypes.string,\n 'disabled-aria-label': PropTypes.string,\n 'card-content-aria-label': CardContentInfo.propTypes['aria-label']\n};\n\nCard.propTypes = cardPropTypes;\n\nexport default Card;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","memo","PropTypes","classnames","NovaCompositionCoorpacademyPadlock","LockIcon","NovaCompositionCoorpacademyPictures","PicturesIcon","isExternalContent","EXTERNAL_CONTENT_ICONS","Provider","CardContentInfo","MODES","Customer","Favorite","Selectable","Notification","style","THEMES","default","coorpmanager","CardBackground","type","image","empty","ariaLabel","skin","externalContent","primaryColor","_get","whiteColor","IconType","icon","iconColor","color","backgroundIcon","createElement","className","externalIconCircleWrapper","externalIcon","_backgroundIcon","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","string","bool","Card","props","context","badge","adaptiv","disabled","hidden","title","author","customer","certifiedAuthor","progress","favorite","addFavoriteToolTip","removeFavoriteToolTip","onClick","onFavoriteClick","isSelected","notification","badgeCategory","badgeLabel","theme","disabledContent","cardArialabel","backgroundAriaLabel","favoriteAriaLabel","selectableAriaLabel","customerAriaLabel","badgeAriaLabel","disabledArialabel","cardContentLabelAriaLabel","_isEmpty","_pick","cardStyle","chapter","course","lazy","grid","_isUndefined","handleClick","e","lock","lockContent","lockIcon","height","dangerouslySetInnerHTML","__html","inlineBadgeStyle","getType","contentType","_extends","mode","CARD","lockWrapper","cardPropTypes","shape","number","func","oneOf","_keys"],"sources":["../../../src/molecule/card/index.js"],"sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyPadlock as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst CardBackground = ({type, image, empty, 'aria-label': ariaLabel}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[type].color;\n const backgroundIcon = (\n <div className={style.externalIconCircleWrapper}>\n <IconType className={style.externalIcon} />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n >\n <IconType className={style.externalIconWithImage} />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? (\n <PicturesIcon className={style.emptyIcon} style={{color: whiteColor}} />\n ) : null;\n return (\n <div\n className={classnames(\n style.imageWrapper,\n type === 'chapter' ? style.chapterImageWrapper : null\n )}\n >\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled: hidden = false,\n type = 'course',\n title,\n author,\n customer,\n certifiedAuthor,\n progress,\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n onClick,\n onFavoriteClick,\n isSelected,\n notification,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n disabledContent,\n 'aria-label': cardArialabel,\n 'background-aria-label': backgroundAriaLabel,\n 'favorite-aria-label': favoriteAriaLabel,\n 'selectable-aria-label': selectableAriaLabel,\n 'customer-aria-label': customerAriaLabel,\n 'badge-aria-label': badgeAriaLabel,\n 'disabled-aria-label': disabledArialabel,\n 'card-content-aria-label': cardContentLabelAriaLabel\n } = props;\n const empty = isEmpty(pick(['title', 'type', 'author', 'image'], props));\n const primaryColor = get('common.primary', skin);\n const cardStyle = classnames(\n THEMES[theme],\n type === 'chapter' ? style.chapter : style.course,\n title ? null : style.lazy,\n style.grid,\n empty ? style.empty : null\n );\n const disabled = hidden && (!isSelected || isUndefined(isSelected));\n const handleClick = useMemo(() => e => onClick(e), [onClick]);\n const lock = disabled ? (\n <div className={style.lockContent}>\n <LockIcon className={style.lockIcon} height={48} />\n <span\n aria-label={disabledArialabel}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: disabledContent}}\n />\n </div>\n ) : null;\n const inlineBadgeStyle = {color: primaryColor};\n const getType = contentType => {\n switch (contentType) {\n case 'chapter':\n return 'microlearning';\n case 'course':\n return 'learner';\n default:\n return contentType;\n }\n };\n\n return (\n <div\n className={cardStyle}\n data-name=\"card\"\n data-lock={disabled}\n data-type={getType(type)}\n disabled={disabled}\n onClick={handleClick}\n aria-label={cardArialabel}\n >\n <CardBackground type={type} image={image} empty={empty} aria-label={backgroundAriaLabel} />\n {isUndefined(isSelected) && !isUndefined(favorite) ? (\n <Favorite\n className={style.favorite}\n favorite={favorite}\n disabled={disabled}\n onFavoriteClick={onFavoriteClick}\n addFavoriteToolTip={addFavoriteToolTip}\n removeFavoriteToolTip={removeFavoriteToolTip}\n aria-label={favoriteAriaLabel}\n />\n ) : null}\n <Selectable isSelected={isSelected} hidden={hidden} aria-label={selectableAriaLabel} />\n {notification ? <Notification {...notification} /> : null}\n {customer ? (\n <Customer\n {...customer}\n theme={theme}\n type={type}\n disabled={disabled}\n aria-label={customerAriaLabel}\n />\n ) : null}\n <CardContentInfo\n mode={MODES.CARD}\n adaptiv={adaptiv}\n author={author}\n certifiedAuthor={certifiedAuthor}\n disabled={disabled}\n empty={empty}\n progress={progress}\n title={title}\n type={type}\n badgeCategory={badgeCategory}\n badgeLabel={badgeLabel}\n theme={theme}\n aria-label={cardContentLabelAriaLabel}\n />\n {badge ? (\n <div className={style.badge} style={inlineBadgeStyle} aria-label={badgeAriaLabel}>\n {badge}\n </div>\n ) : null}\n {disabled ? (\n <div className={style.lockWrapper} aria-label={disabledArialabel}>\n {lock}\n </div>\n ) : null}\n </div>\n );\n});\n\nCard.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport const cardPropTypes = {\n badge: PropTypes.string,\n image: PropTypes.string,\n disabled: PropTypes.bool,\n adaptiv: PropTypes.bool,\n type: PropTypes.string,\n title: PropTypes.string,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n customer: PropTypes.shape(Customer.propTypes),\n progress: PropTypes.number,\n favorite: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onClick: PropTypes.func,\n onFavoriteClick: PropTypes.func,\n isSelected: PropTypes.bool,\n notification: PropTypes.shape(Notification.propTypes),\n badgeCategory: CardContentInfo.propTypes.badgeCategory,\n badgeLabel: CardContentInfo.propTypes.badgeLabel,\n theme: PropTypes.oneOf(keys(THEMES)),\n disabledContent: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'background-aria-label': PropTypes.string,\n 'favorite-aria-label': Favorite.propTypes['aria-label'],\n 'selectable-aria-label': Selectable.propTypes['aria-label'],\n 'customer-aria-label': Customer.propTypes['aria-label'],\n 'badge-aria-label': PropTypes.string,\n 'disabled-aria-label': PropTypes.string,\n 'card-content-aria-label': CardContentInfo.propTypes['aria-label']\n};\n\nCard.propTypes = cardPropTypes;\n\nexport default Card;\n"],"mappings":"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","ignoreList":[]}
@@ -5,16 +5,13 @@
5
5
  @value grey from colors;
6
6
  @value dark from colors;
7
7
  @value white from colors;
8
- @value cm_blue_700 from colors;
9
- @value primary_100 from colors;
10
- @value cm_grey_75 from colors;
11
8
 
12
9
  .notificationWrapper {
13
10
  width: 100%;
14
11
  height: 100%;
15
12
  top: 0;
16
13
  left: 0;
17
- background: rgba(29, 29, 43, 0.5);
14
+ background: color(dark a(75%));
18
15
  position: absolute;
19
16
  z-index: 0;
20
17
  opacity: 0;
@@ -22,64 +19,44 @@
22
19
  }
23
20
 
24
21
  .notification {
25
- width: 156px;
22
+ width: 100px;
23
+ height: 100px;
26
24
  background: light;
27
25
  position: absolute;
28
26
  top: 50%;
29
27
  left: 50%;
30
- transform: translate(-50%, -50%);
31
- border-radius: 12px;
32
- padding: 16px;
28
+ margin: -50px 0 0 -50px;
29
+ border-radius: 7px;
30
+ padding: 12px 7px 7px;
33
31
  box-sizing: border-box;
34
32
  color: grey;
35
- background: cm_grey_75;
36
- align-items: center;
37
- display: flex;
38
- gap: 12px;
39
- justify-content: center;
40
- flex-direction: column;
41
33
  }
42
34
 
43
- /* pour le dev */
44
- .showOverlay {
45
- visibility: visible;
46
- opacity: 1;
47
- z-index: 3;
48
- }
49
-
50
- /* .showOverlay .notification {
51
- animation: scale 120s ease-in-out forwards;
35
+ .showOverlay .notification {
36
+ animation: scale 3s ease-in-out forwards;
52
37
  }
53
38
 
54
39
  .showOverlay {
55
- animation: fadeIn 120s ease-in-out forwards;
56
- } */
40
+ animation: fadeIn 3s ease-in-out forwards;
41
+ }
57
42
 
58
43
  .notification .icon {
59
44
  font-size: 30px;
60
- height: 20px;
61
- width: 15px;
62
- }
63
-
64
- .iconWrapper {
65
- width: 32px;
66
- height: 32px;
67
- padding: 8px;
68
- display: flex;
69
- justify-content: center;
70
- align-items: center;
71
- border-radius: 12px;
45
+ height: 30px;
46
+ width: 100%;
72
47
  }
73
48
 
74
49
  .message {
75
- line-height: 20px;
50
+ width: 100%;
51
+ height: 50px;
52
+ line-height: 50px;
76
53
  }
77
54
 
78
55
  .message span {
79
56
  display: inline-block;
80
57
  vertical-align: middle;
81
58
  user-select: none;
82
- line-height: 20px;
59
+ line-height: 16px;
83
60
  font-size: 14px;
84
61
  font-family: 'Gilroy';
85
62
  text-align: center;
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/notification.js"],"names":[],"mappings":";AA+BA,uDAuBC"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/notification.js"],"names":[],"mappings":";AAyBA,uDAmBC"}
@@ -3,25 +3,14 @@ import _get from "lodash/fp/get";
3
3
  import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import classnames from 'classnames';
6
- import { NovaSolidLoginLocked as LockIcon, NovaSolidLocksLockUnlock1 as UnlockIcon, NovaCompositionCoorpacademyCheck as CheckIcon, NovaSolidStatusClose as CloseIcon } from '@coorpacademy/nova-icons';
7
- import { COLORS } from '../../variables/colors';
6
+ import { NovaCompositionNavigationMore as MoreIcon, NovaSolidLoginLocked as LockIcon, NovaSolidLocksLockUnlock1 as UnlockIcon, NovaCompositionCoorpacademyCheck as CheckIcon } from '@coorpacademy/nova-icons';
8
7
  import style from './notification.css';
9
8
  const NOTIFICATION_ICON = {
10
9
  addFavorite: CheckIcon,
11
- removeFavorite: CloseIcon,
10
+ removeFavorite: MoreIcon,
12
11
  lock: LockIcon,
13
12
  unlock: UnlockIcon
14
13
  };
15
- const NOTIFICATIONS_COLORS = {
16
- addFavorite: {
17
- color: COLORS.cm_blue_700,
18
- backgroundColor: COLORS.primary_100
19
- },
20
- removeFavorite: {
21
- color: COLORS.neutral_500,
22
- backgroundColor: COLORS.cm_grey_100
23
- }
24
- };
25
14
  const handleOverlayClick = e => {
26
15
  e.stopPropagation();
27
16
  e.preventDefault();
@@ -33,12 +22,6 @@ const Notification = props => {
33
22
  icon
34
23
  } = props;
35
24
  const IconType = _get(icon, NOTIFICATION_ICON);
36
- const {
37
- color,
38
- backgroundColor
39
- } = _get(icon, NOTIFICATIONS_COLORS);
40
- // eslint-disable-next-line no-console
41
- console.log('color', color, 'backgroundColor', backgroundColor);
42
25
  return /*#__PURE__*/React.createElement("div", {
43
26
  "data-name": "notification",
44
27
  "data-type": icon,
@@ -46,18 +29,13 @@ const Notification = props => {
46
29
  className: classnames(style.showOverlay, style.notificationWrapper)
47
30
  }, /*#__PURE__*/React.createElement("div", {
48
31
  className: style.notification
49
- }, /*#__PURE__*/React.createElement("div", {
50
- className: style.iconWrapper,
51
- style: {
52
- backgroundColor
53
- }
54
32
  }, /*#__PURE__*/React.createElement(IconType, {
55
33
  className: style.icon,
56
34
  style: {
57
- color
35
+ color: null
58
36
  },
59
37
  stroke: null
60
- })), /*#__PURE__*/React.createElement("div", {
38
+ }), /*#__PURE__*/React.createElement("div", {
61
39
  className: style.message
62
40
  }, /*#__PURE__*/React.createElement("span", {
63
41
  role: "status"