@coorpacademy/components 11.4.3 → 11.4.5-11.4.5-alpha.36.35

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 (83) hide show
  1. package/es/atom/review-presentation/index.d.ts.map +1 -1
  2. package/es/atom/review-presentation/index.js +75 -18
  3. package/es/atom/review-presentation/index.js.map +1 -1
  4. package/es/atom/review-presentation/prop-types.d.ts +4 -0
  5. package/es/atom/review-presentation/prop-types.d.ts.map +1 -1
  6. package/es/atom/review-presentation/prop-types.js +2 -1
  7. package/es/atom/review-presentation/prop-types.js.map +1 -1
  8. package/es/atom/review-presentation/style.css +5 -14
  9. package/es/atom/select/index.d.ts +1 -0
  10. package/es/atom/select/index.d.ts.map +1 -1
  11. package/es/atom/select/index.js +24 -10
  12. package/es/atom/select/index.js.map +1 -1
  13. package/es/molecule/add-to-my-list/index.js +3 -1
  14. package/es/molecule/add-to-my-list/index.js.map +1 -1
  15. package/es/molecule/brand-form-group/index.d.ts +2 -0
  16. package/es/molecule/card/notification.js +3 -1
  17. package/es/molecule/card/notification.js.map +1 -1
  18. package/es/molecule/filters/index.d.ts +1 -0
  19. package/es/molecule/filters/index.d.ts.map +1 -1
  20. package/es/molecule/forum/forum-post/index.d.ts.map +1 -1
  21. package/es/molecule/forum/forum-post/index.js +2 -1
  22. package/es/molecule/forum/forum-post/index.js.map +1 -1
  23. package/es/molecule/setup-slide/index.d.ts +1 -0
  24. package/es/molecule/setup-slider/index.d.ts +1 -0
  25. package/es/molecule/share/index.d.ts.map +1 -1
  26. package/es/molecule/share/index.js +5 -1
  27. package/es/molecule/share/index.js.map +1 -1
  28. package/es/organism/brand-form/index.d.ts +2 -0
  29. package/es/organism/review-slide/index.d.ts.map +1 -1
  30. package/es/organism/review-slide/index.js +31 -2
  31. package/es/organism/review-slide/index.js.map +1 -1
  32. package/es/organism/wizard-contents/index.d.ts +2 -0
  33. package/es/template/back-office/brand-update/index.d.ts +4 -0
  34. package/es/template/back-office/brand-update/style.css +2 -2
  35. package/es/template/common/search-page/index.d.ts +1 -0
  36. package/es/template/common/search-page/index.d.ts.map +1 -1
  37. package/es/template/common/search-page/index.js +2 -1
  38. package/es/template/common/search-page/index.js.map +1 -1
  39. package/es/template/review-dashboard-skills/index.d.ts +4 -0
  40. package/lib/atom/review-presentation/index.d.ts.map +1 -1
  41. package/lib/atom/review-presentation/index.js +79 -18
  42. package/lib/atom/review-presentation/index.js.map +1 -1
  43. package/lib/atom/review-presentation/prop-types.d.ts +4 -0
  44. package/lib/atom/review-presentation/prop-types.d.ts.map +1 -1
  45. package/lib/atom/review-presentation/prop-types.js +2 -1
  46. package/lib/atom/review-presentation/prop-types.js.map +1 -1
  47. package/lib/atom/review-presentation/style.css +5 -14
  48. package/lib/atom/select/index.d.ts +1 -0
  49. package/lib/atom/select/index.d.ts.map +1 -1
  50. package/lib/atom/select/index.js +24 -10
  51. package/lib/atom/select/index.js.map +1 -1
  52. package/lib/molecule/add-to-my-list/index.js +3 -1
  53. package/lib/molecule/add-to-my-list/index.js.map +1 -1
  54. package/lib/molecule/brand-form-group/index.d.ts +2 -0
  55. package/lib/molecule/card/notification.js +3 -1
  56. package/lib/molecule/card/notification.js.map +1 -1
  57. package/lib/molecule/filters/index.d.ts +1 -0
  58. package/lib/molecule/filters/index.d.ts.map +1 -1
  59. package/lib/molecule/forum/forum-post/index.d.ts.map +1 -1
  60. package/lib/molecule/forum/forum-post/index.js +2 -1
  61. package/lib/molecule/forum/forum-post/index.js.map +1 -1
  62. package/lib/molecule/setup-slide/index.d.ts +1 -0
  63. package/lib/molecule/setup-slider/index.d.ts +1 -0
  64. package/lib/molecule/share/index.d.ts.map +1 -1
  65. package/lib/molecule/share/index.js +5 -1
  66. package/lib/molecule/share/index.js.map +1 -1
  67. package/lib/organism/brand-form/index.d.ts +2 -0
  68. package/lib/organism/review-slide/index.d.ts.map +1 -1
  69. package/lib/organism/review-slide/index.js +30 -1
  70. package/lib/organism/review-slide/index.js.map +1 -1
  71. package/lib/organism/wizard-contents/index.d.ts +2 -0
  72. package/lib/template/back-office/brand-update/index.d.ts +4 -0
  73. package/lib/template/back-office/brand-update/style.css +2 -2
  74. package/lib/template/common/search-page/index.d.ts +1 -0
  75. package/lib/template/common/search-page/index.d.ts.map +1 -1
  76. package/lib/template/common/search-page/index.js +2 -1
  77. package/lib/template/common/search-page/index.js.map +1 -1
  78. package/lib/template/review-dashboard-skills/index.d.ts +4 -0
  79. package/locales/en/global.json +5 -1
  80. package/locales/fr/global.json +6 -1
  81. package/locales/ru/global.json +6 -1
  82. package/package.json +2 -2
  83. package/locales/.mtslconfig.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","classnames","PropTypes","SrcPropType","Provider","Picture","ForumComment","style","ForumPost","props","context","translate","skin","id","author","avatar","avatarAlt","profileAvatarAlt","date","message","answer","answerPostDisabled","answerTextareaDisabled","answerAvatar","answerable","editable","rejectable","mainPost","rejected","deleted","edition","editionPostDisabled","editionTextareaDisabled","showAnswerBox","showEditBox","onAnswer","onEdit","onPostAnswer","onPostEdition","onChangeAnswer","onChangeEdition","onModerate","onDelete","color","infoDeleted","answerLabel","editLabel","deleteLabel","rejectLabel","putBackLabel","messageClassName","deletedMessage","hiddenMessage","post","avatarWrapper","image","content","body","action","display","visible","contextTypes","childContextTypes","propTypes","string","bool","func"],"sources":["../../../../src/molecule/forum/forum-post/index.js"],"sourcesContent":["import React from 'react';\nimport {get, identity} from 'lodash/fp';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {SrcPropType} from '../../../util/proptypes';\nimport Provider from '../../../atom/provider';\nimport Picture from '../../../atom/picture';\nimport ForumComment from '../forum-comment';\nimport style from './style.css';\n\nconst ForumPost = (props, context) => {\n const {translate, skin} = context;\n const {\n id,\n author,\n avatar,\n avatarAlt,\n profileAvatarAlt,\n date,\n message,\n answer,\n answerPostDisabled = false,\n answerTextareaDisabled = false,\n answerAvatar,\n answerable = true,\n editable = false,\n rejectable = false,\n mainPost = false,\n rejected = false,\n deleted = false,\n edition,\n editionPostDisabled = false,\n editionTextareaDisabled = false,\n showAnswerBox = false,\n showEditBox = false,\n onAnswer = identity,\n onEdit = identity,\n onPostAnswer = identity,\n onPostEdition = identity,\n onChangeAnswer = identity,\n onChangeEdition = identity,\n onModerate,\n onDelete\n } = props;\n const color = get('common.primary', skin);\n\n const infoDeleted = translate('This message has been removed by its author');\n const answerLabel = translate('Answer');\n const editLabel = translate('Edit');\n const deleteLabel = translate('Delete');\n const rejectLabel = translate('Reject');\n const putBackLabel = translate('Put back');\n let messageClassName = style.message;\n if (deleted) {\n messageClassName = style.deletedMessage;\n } else if (showEditBox) {\n messageClassName = style.hiddenMessage;\n }\n\n return (\n <div\n data-name=\"forumPost\"\n id={`forum-post-${id || 'to-be-posted'}`}\n className={classnames(\n mainPost ? style.mainPost : null,\n rejected ? style.rejected : style.post\n )}\n >\n <div className={style.avatarWrapper}>\n <div className={style.image}>\n <Picture src={avatar} className={style.avatar} alt={avatarAlt} />\n </div>\n <span data-name=\"author\" className={style.author}>\n {author}\n </span>\n </div>\n <div className={style.content}>\n <div>\n <span className={style.date}>{date}</span>\n </div>\n <div className={style.body}>\n <span\n className={style.action}\n onClick={onAnswer}\n style={{\n color,\n display: answerable && !deleted && !rejected ? 'block' : 'none'\n }}\n >\n {answerLabel}\n </span>\n\n <span\n className={style.action}\n onClick={onEdit}\n style={{\n color,\n display: editable ? 'block' : 'none'\n }}\n >\n {editLabel}\n </span>\n\n <span\n className={style.action}\n onClick={onDelete}\n style={{\n color,\n display: editable ? 'block' : 'none'\n }}\n >\n {deleteLabel}\n </span>\n\n <span\n className={style.action}\n onClick={onModerate}\n style={{\n color,\n display: rejectable ? 'block' : 'none'\n }}\n >\n {rejected ? putBackLabel : rejectLabel}\n </span>\n\n <div className={messageClassName}>{deleted ? infoDeleted : message}</div>\n\n <div className={`${style.edition} ${showEditBox ? style.visible : ''}`}>\n <ForumComment\n avatar={null}\n profileAvatarAlt={profileAvatarAlt}\n value={edition}\n textareaDisabled={editionTextareaDisabled}\n postDisabled={editionPostDisabled}\n onPost={onPostEdition}\n onChange={onChangeEdition}\n />\n </div>\n\n <div className={`${style.answer} ${showAnswerBox ? style.visible : ''}`}>\n <ForumComment\n avatar={answerAvatar}\n profileAvatarAlt={profileAvatarAlt}\n textareaDisabled={answerTextareaDisabled}\n postDisabled={answerPostDisabled}\n value={answer}\n onPost={onPostAnswer}\n onChange={onChangeAnswer}\n />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nForumPost.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nForumPost.propTypes = {\n id: PropTypes.string,\n author: PropTypes.string,\n avatarAlt: PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n date: PropTypes.string,\n message: PropTypes.string,\n avatar: SrcPropType,\n answerAvatar: SrcPropType,\n answer: PropTypes.string,\n edition: PropTypes.string,\n showAnswerBox: PropTypes.bool,\n showEditBox: PropTypes.bool,\n mainPost: PropTypes.bool,\n onAnswer: PropTypes.func,\n onEdit: PropTypes.func,\n onPostAnswer: PropTypes.func,\n onPostEdition: PropTypes.func,\n onChangeAnswer: PropTypes.func,\n onChangeEdition: PropTypes.func,\n onModerate: PropTypes.func,\n onDelete: PropTypes.func,\n answerPostDisabled: PropTypes.bool,\n answerTextareaDisabled: PropTypes.bool,\n answerable: PropTypes.bool,\n editable: PropTypes.bool,\n rejectable: PropTypes.bool,\n rejected: PropTypes.bool,\n deleted: PropTypes.bool,\n editionPostDisabled: PropTypes.bool,\n editionTextareaDisabled: PropTypes.bool\n};\n\nexport default ForumPost;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","classnames","PropTypes","SrcPropType","Provider","Picture","ForumComment","style","ForumPost","props","context","translate","skin","id","author","avatar","avatarAlt","profileAvatarAlt","date","message","answer","answerPostDisabled","answerTextareaDisabled","answerAvatar","answerable","editable","rejectable","mainPost","rejected","deleted","edition","editionPostDisabled","editionTextareaDisabled","showAnswerBox","showEditBox","onAnswer","onEdit","onPostAnswer","onPostEdition","onChangeAnswer","onChangeEdition","onModerate","onDelete","color","infoDeleted","answerLabel","editLabel","deleteLabel","rejectLabel","putBackLabel","messageClassName","deletedMessage","hiddenMessage","post","avatarWrapper","image","content","body","action","display","visible","contextTypes","childContextTypes","propTypes","string","bool","func"],"sources":["../../../../src/molecule/forum/forum-post/index.js"],"sourcesContent":["import React from 'react';\nimport {get, identity} from 'lodash/fp';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {SrcPropType} from '../../../util/proptypes';\nimport Provider from '../../../atom/provider';\nimport Picture from '../../../atom/picture';\nimport ForumComment from '../forum-comment';\nimport style from './style.css';\n\nconst ForumPost = (props, context) => {\n const {translate, skin} = context;\n const {\n id,\n author,\n avatar,\n avatarAlt,\n profileAvatarAlt,\n date,\n message,\n answer,\n answerPostDisabled = false,\n answerTextareaDisabled = false,\n answerAvatar,\n answerable = true,\n editable = false,\n rejectable = false,\n mainPost = false,\n rejected = false,\n deleted = false,\n edition,\n editionPostDisabled = false,\n editionTextareaDisabled = false,\n showAnswerBox = false,\n showEditBox = false,\n onAnswer = identity,\n onEdit = identity,\n onPostAnswer = identity,\n onPostEdition = identity,\n onChangeAnswer = identity,\n onChangeEdition = identity,\n onModerate,\n onDelete\n } = props;\n const color = get('common.primary', skin);\n\n const infoDeleted = translate('This message has been removed by its author');\n const answerLabel = translate('Answer');\n const editLabel = translate('Edit');\n const deleteLabel = translate('Delete');\n const rejectLabel = translate('Reject');\n const putBackLabel = translate('Put back');\n let messageClassName = style.message;\n if (deleted) {\n messageClassName = style.deletedMessage;\n } else if (showEditBox) {\n messageClassName = style.hiddenMessage;\n }\n\n return (\n <div\n data-name=\"forumPost\"\n id={`forum-post-${id || 'to-be-posted'}`}\n className={classnames(\n mainPost ? style.mainPost : null,\n rejected ? style.rejected : style.post\n )}\n >\n <div className={style.avatarWrapper}>\n <div className={style.image}>\n <Picture src={avatar} className={style.avatar} alt={avatarAlt} />\n </div>\n <span data-name=\"author\" className={style.author}>\n {author}\n </span>\n </div>\n <div className={style.content}>\n <div>\n <span className={style.date}>{date}</span>\n </div>\n <div className={style.body}>\n <span\n className={style.action}\n onClick={onAnswer}\n style={{\n color,\n display: answerable && !deleted && !rejected ? 'block' : 'none'\n }}\n >\n {answerLabel}\n </span>\n\n <span\n className={style.action}\n onClick={onEdit}\n style={{\n color,\n display: editable ? 'block' : 'none'\n }}\n >\n {editLabel}\n </span>\n\n <span\n className={style.action}\n onClick={onDelete}\n style={{\n color,\n display: editable ? 'block' : 'none'\n }}\n >\n {deleteLabel}\n </span>\n\n <span\n className={style.action}\n onClick={onModerate}\n style={{\n color,\n display: rejectable ? 'block' : 'none'\n }}\n >\n {rejected ? putBackLabel : rejectLabel}\n </span>\n\n <div className={messageClassName} role=\"status\">\n {deleted ? infoDeleted : message}\n </div>\n\n <div className={`${style.edition} ${showEditBox ? style.visible : ''}`}>\n <ForumComment\n avatar={null}\n profileAvatarAlt={profileAvatarAlt}\n value={edition}\n textareaDisabled={editionTextareaDisabled}\n postDisabled={editionPostDisabled}\n onPost={onPostEdition}\n onChange={onChangeEdition}\n />\n </div>\n\n <div className={`${style.answer} ${showAnswerBox ? style.visible : ''}`}>\n <ForumComment\n avatar={answerAvatar}\n profileAvatarAlt={profileAvatarAlt}\n textareaDisabled={answerTextareaDisabled}\n postDisabled={answerPostDisabled}\n value={answer}\n onPost={onPostAnswer}\n onChange={onChangeAnswer}\n />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nForumPost.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nForumPost.propTypes = {\n id: PropTypes.string,\n author: PropTypes.string,\n avatarAlt: PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n date: PropTypes.string,\n message: PropTypes.string,\n avatar: SrcPropType,\n answerAvatar: SrcPropType,\n answer: PropTypes.string,\n edition: PropTypes.string,\n showAnswerBox: PropTypes.bool,\n showEditBox: PropTypes.bool,\n mainPost: PropTypes.bool,\n onAnswer: PropTypes.func,\n onEdit: PropTypes.func,\n onPostAnswer: PropTypes.func,\n onPostEdition: PropTypes.func,\n onChangeAnswer: PropTypes.func,\n onChangeEdition: PropTypes.func,\n onModerate: PropTypes.func,\n onDelete: PropTypes.func,\n answerPostDisabled: PropTypes.bool,\n answerTextareaDisabled: PropTypes.bool,\n answerable: PropTypes.bool,\n editable: PropTypes.bool,\n rejectable: PropTypes.bool,\n rejected: PropTypes.bool,\n deleted: PropTypes.bool,\n editionPostDisabled: PropTypes.bool,\n editionTextareaDisabled: PropTypes.bool\n};\n\nexport default ForumPost;\n"],"mappings":"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"}
@@ -57,6 +57,7 @@ declare namespace SetupSlide {
57
57
  modified: PropTypes.Requireable<boolean>;
58
58
  error: PropTypes.Requireable<boolean>;
59
59
  'aria-label': PropTypes.Requireable<string>;
60
+ selectId: PropTypes.Requireable<string>;
60
61
  }> | PropTypes.InferProps<{
61
62
  type: PropTypes.Requireable<string>;
62
63
  title: PropTypes.Validator<string>;
@@ -70,6 +70,7 @@ declare namespace SetupSlider {
70
70
  modified: PropTypes.Requireable<boolean>;
71
71
  error: PropTypes.Requireable<boolean>;
72
72
  'aria-label': PropTypes.Requireable<string>;
73
+ selectId: PropTypes.Requireable<string>;
73
74
  }> | PropTypes.InferProps<{
74
75
  type: PropTypes.Requireable<string>;
75
76
  title: PropTypes.Validator<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/share/index.js"],"names":[],"mappings":"AAkDO;;gBAcN;;;;;;AAEM;;;uBAgBN;;;;;;;;;;AAED;;;;gBA8BC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/share/index.js"],"names":[],"mappings":"AAkDO;;gBAcN;;;;;;AAEM;;;uBAoBN;;;;;;;;;;AAED;;;;gBA8BC"}
@@ -74,7 +74,11 @@ export const ShareFeedback = ({
74
74
  className: styles.checkIcon,
75
75
  width: 13,
76
76
  height: 13
77
- }), /*#__PURE__*/React.createElement("p", null, status === SHARE_STATUS.SUCCESS ? successWording : errorWording));
77
+ }), status === SHARE_STATUS.SUCCESS ? /*#__PURE__*/React.createElement("p", {
78
+ role: "status"
79
+ }, successWording) : /*#__PURE__*/React.createElement("p", {
80
+ role: "alert"
81
+ }, errorWording));
78
82
  };
79
83
 
80
84
  const Share = ({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useMemo","useCallback","useContext","useEffect","PropTypes","classnames","NovaCompositionCoorpacademyCheck","CheckIcon","NovaCompositionCoorpacademyShare","ShareIcon","NovaCompositionCoorpacademyAttention","AttentionIcon","Link","styles","SHARE_STATUS","IDLE","ERROR","SUCCESS","copyTextViaExecCommand","text","textarea","document","createElement","style","border","padding","visibility","position","setAttribute","value","body","appendChild","status","select","setSelectionRange","length","execCommand","error","removeChild","StatusContext","createContext","ShareStatusProvider","children","setStatus","timeoutId","DURATION","setTimeout","clearTimeout","ShareFeedback","successWording","errorWording","feedback","errorFeedback","checkIcon","Share","wording","onClick","browserSupportsClipboardWriteText","navigator","clipboard","writeText","copyStatus","container","cta","wrapper","shareIcon","propTypes","node","string"],"sources":["../../../src/molecule/share/index.js"],"sourcesContent":["import React, {useState, useMemo, useCallback, useContext, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionCoorpacademyShare as ShareIcon,\n NovaCompositionCoorpacademyAttention as AttentionIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst SHARE_STATUS = {\n IDLE: 'IDLE',\n ERROR: 'ERROR',\n SUCCESS: 'SUCCESS'\n};\n\nconst copyTextViaExecCommand = text => {\n const textarea = document.createElement('textarea');\n\n textarea.style.border = '0';\n textarea.style.padding = '0';\n textarea.style.visibility = 'hidden';\n textarea.style.position = 'absolute';\n textarea.setAttribute('readonly', '');\n textarea.value = text;\n\n // Element.append is not supported on IE11 :/\n // eslint-disable-next-line unicorn/prefer-node-append\n document.body.appendChild(textarea);\n let status = SHARE_STATUS.IDLE;\n\n try {\n textarea.select();\n textarea.setSelectionRange(0, textarea.value.length);\n document.execCommand('copy');\n status = SHARE_STATUS.SUCCESS;\n } catch (error) {\n status = SHARE_STATUS.ERROR;\n }\n\n // Element.remove is not supported on IE11 :/\n // eslint-disable-next-line unicorn/prefer-node-remove\n document.body.removeChild(textarea);\n\n return status;\n};\n\nconst StatusContext = React.createContext(SHARE_STATUS.IDLE);\n\nexport const ShareStatusProvider = ({children}) => {\n const [status, setStatus] = useState(SHARE_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== SHARE_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(SHARE_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n\n const value = useMemo(() => [status, setStatus], [status]);\n\n return <StatusContext.Provider value={value}>{children}</StatusContext.Provider>;\n};\n\nexport const ShareFeedback = ({successWording, errorWording}) => {\n const [status] = useContext(StatusContext);\n if (status === SHARE_STATUS.IDLE) return null;\n\n return (\n <div\n className={classnames(styles.feedback, status === SHARE_STATUS.ERROR && styles.errorFeedback)}\n >\n {status === SHARE_STATUS.SUCCESS ? (\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n ) : (\n <AttentionIcon className={styles.checkIcon} width={13} height={13} />\n )}\n <p>{status === SHARE_STATUS.SUCCESS ? successWording : errorWording}</p>\n </div>\n );\n};\n\nconst Share = ({style, text, wording}) => {\n const [, setStatus] = useContext(StatusContext);\n const onClick = useCallback(async () => {\n const browserSupportsClipboardWriteText =\n 'clipboard' in navigator && 'writeText' in navigator.clipboard;\n if (browserSupportsClipboardWriteText) {\n try {\n await navigator.clipboard.writeText(text);\n setStatus(SHARE_STATUS.SUCCESS);\n } catch (error) {\n setStatus(SHARE_STATUS.ERROR);\n }\n return;\n } else {\n const copyStatus = copyTextViaExecCommand(text);\n setStatus(copyStatus);\n }\n return;\n }, [setStatus, text]);\n\n return (\n <div className={(styles.container, style)}>\n <Link onClick={onClick} className={styles.cta} data-name={'share-button'}>\n <div className={styles.wrapper}>\n <ShareIcon className={styles.shareIcon} width={18} height={18} />\n <p>{wording}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nShareStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nShareFeedback.propTypes = {\n successWording: PropTypes.string,\n errorWording: PropTypes.string\n};\n\nShare.propTypes = {\n style: PropTypes.string,\n text: PropTypes.string,\n wording: PropTypes.string\n};\n\nexport default Share;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useMemo","useCallback","useContext","useEffect","PropTypes","classnames","NovaCompositionCoorpacademyCheck","CheckIcon","NovaCompositionCoorpacademyShare","ShareIcon","NovaCompositionCoorpacademyAttention","AttentionIcon","Link","styles","SHARE_STATUS","IDLE","ERROR","SUCCESS","copyTextViaExecCommand","text","textarea","document","createElement","style","border","padding","visibility","position","setAttribute","value","body","appendChild","status","select","setSelectionRange","length","execCommand","error","removeChild","StatusContext","createContext","ShareStatusProvider","children","setStatus","timeoutId","DURATION","setTimeout","clearTimeout","ShareFeedback","successWording","errorWording","feedback","errorFeedback","checkIcon","Share","wording","onClick","browserSupportsClipboardWriteText","navigator","clipboard","writeText","copyStatus","container","cta","wrapper","shareIcon","propTypes","node","string"],"sources":["../../../src/molecule/share/index.js"],"sourcesContent":["import React, {useState, useMemo, useCallback, useContext, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionCoorpacademyShare as ShareIcon,\n NovaCompositionCoorpacademyAttention as AttentionIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst SHARE_STATUS = {\n IDLE: 'IDLE',\n ERROR: 'ERROR',\n SUCCESS: 'SUCCESS'\n};\n\nconst copyTextViaExecCommand = text => {\n const textarea = document.createElement('textarea');\n\n textarea.style.border = '0';\n textarea.style.padding = '0';\n textarea.style.visibility = 'hidden';\n textarea.style.position = 'absolute';\n textarea.setAttribute('readonly', '');\n textarea.value = text;\n\n // Element.append is not supported on IE11 :/\n // eslint-disable-next-line unicorn/prefer-node-append\n document.body.appendChild(textarea);\n let status = SHARE_STATUS.IDLE;\n\n try {\n textarea.select();\n textarea.setSelectionRange(0, textarea.value.length);\n document.execCommand('copy');\n status = SHARE_STATUS.SUCCESS;\n } catch (error) {\n status = SHARE_STATUS.ERROR;\n }\n\n // Element.remove is not supported on IE11 :/\n // eslint-disable-next-line unicorn/prefer-node-remove\n document.body.removeChild(textarea);\n\n return status;\n};\n\nconst StatusContext = React.createContext(SHARE_STATUS.IDLE);\n\nexport const ShareStatusProvider = ({children}) => {\n const [status, setStatus] = useState(SHARE_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== SHARE_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(SHARE_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n\n const value = useMemo(() => [status, setStatus], [status]);\n\n return <StatusContext.Provider value={value}>{children}</StatusContext.Provider>;\n};\n\nexport const ShareFeedback = ({successWording, errorWording}) => {\n const [status] = useContext(StatusContext);\n if (status === SHARE_STATUS.IDLE) return null;\n\n return (\n <div\n className={classnames(styles.feedback, status === SHARE_STATUS.ERROR && styles.errorFeedback)}\n >\n {status === SHARE_STATUS.SUCCESS ? (\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n ) : (\n <AttentionIcon className={styles.checkIcon} width={13} height={13} />\n )}\n {status === SHARE_STATUS.SUCCESS ? (\n <p role=\"status\">{successWording}</p>\n ) : (\n <p role=\"alert\">{errorWording}</p>\n )}\n </div>\n );\n};\n\nconst Share = ({style, text, wording}) => {\n const [, setStatus] = useContext(StatusContext);\n const onClick = useCallback(async () => {\n const browserSupportsClipboardWriteText =\n 'clipboard' in navigator && 'writeText' in navigator.clipboard;\n if (browserSupportsClipboardWriteText) {\n try {\n await navigator.clipboard.writeText(text);\n setStatus(SHARE_STATUS.SUCCESS);\n } catch (error) {\n setStatus(SHARE_STATUS.ERROR);\n }\n return;\n } else {\n const copyStatus = copyTextViaExecCommand(text);\n setStatus(copyStatus);\n }\n return;\n }, [setStatus, text]);\n\n return (\n <div className={(styles.container, style)}>\n <Link onClick={onClick} className={styles.cta} data-name={'share-button'}>\n <div className={styles.wrapper}>\n <ShareIcon className={styles.shareIcon} width={18} height={18} />\n <p>{wording}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nShareStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nShareFeedback.propTypes = {\n successWording: PropTypes.string,\n errorWording: PropTypes.string\n};\n\nShare.propTypes = {\n style: PropTypes.string,\n text: PropTypes.string,\n wording: PropTypes.string\n};\n\nexport default Share;\n"],"mappings":"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"}
@@ -129,6 +129,7 @@ declare namespace BrandForm {
129
129
  modified: PropTypes.Requireable<boolean>;
130
130
  error: PropTypes.Requireable<boolean>;
131
131
  'aria-label': PropTypes.Requireable<string>;
132
+ selectId: PropTypes.Requireable<string>;
132
133
  }> | PropTypes.InferProps<{
133
134
  type: PropTypes.Requireable<string>;
134
135
  title: PropTypes.Validator<string>;
@@ -233,6 +234,7 @@ declare namespace BrandForm {
233
234
  modified: PropTypes.Requireable<boolean>;
234
235
  error: PropTypes.Requireable<boolean>;
235
236
  'aria-label': PropTypes.Requireable<string>;
237
+ selectId: PropTypes.Requireable<string>;
236
238
  }> | PropTypes.InferProps<{
237
239
  type: PropTypes.Requireable<string>;
238
240
  title: PropTypes.Validator<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.js"],"names":[],"mappings":";AAiIA,sDA8CC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.js"],"names":[],"mappings":";AA6JA,sDA8CC"}
@@ -1,6 +1,6 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
- import React, { useMemo } from 'react';
3
+ import React, { useMemo, useEffect } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import classnames from 'classnames';
6
6
  import get from 'lodash/fp/get';
@@ -38,7 +38,22 @@ const CorrectionPopin = ({
38
38
  information,
39
39
  type: correctionPopinProps.type,
40
40
  resultLabel: correctionPopinProps.resultLabel
41
- };
41
+ }; // there is an error of eslint here because this useEffect will be only there when the correctionPopin will be there
42
+ // but that is on purpose to go to the next slide if you press enter when the correctionPopin is present
43
+ // istanbul ignore next
44
+ // eslint-disable-next-line react-hooks/rules-of-hooks
45
+
46
+ useEffect(() => {
47
+ const keyDownHandler = event => {
48
+ if (event.key === 'Enter' || event.key === ' ') {
49
+ event.preventDefault();
50
+ onClick();
51
+ document.removeEventListener('keydown', keyDownHandler);
52
+ }
53
+ };
54
+
55
+ document.addEventListener('keydown', keyDownHandler);
56
+ }, []);
42
57
  return /*#__PURE__*/React.createElement("div", {
43
58
  className: classnames(style.correctionPopinWrapper, animateCorrectionPopin ? style.popinAnimation : null)
44
59
  }, /*#__PURE__*/React.createElement(ReviewCorrectionPopin, _correctionPopinProps));
@@ -73,6 +88,20 @@ const ValidateButton = ({
73
88
  backgroundColor: primarySkinColor
74
89
  }
75
90
  };
91
+ /* istanbul ignore next */
92
+
93
+ useEffect(() => {
94
+ const keyDownHandler = event => {
95
+ if (event.key === 'Enter' || event.key === ' ') {
96
+ event.preventDefault();
97
+ }
98
+ };
99
+
100
+ if (disabled) document.addEventListener('keydown', keyDownHandler);
101
+ return () => {
102
+ document.removeEventListener('keydown', keyDownHandler);
103
+ };
104
+ }, [disabled]);
76
105
  return /*#__PURE__*/React.createElement("div", {
77
106
  key: "button-wrapper",
78
107
  className: style.validateButtonWrapper
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","classnames","get","getOr","Answer","ButtonLink","Loader","ReviewCorrectionPopin","GetSkinFromContext","propTypes","style","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","onClick","_correctionPopinProps","type","resultLabel","correctionPopinWrapper","popinAnimation","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","disabledContent","loader"],"sources":["../../../src/organism/review-slide/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n data-testid=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n data-testid=\"slide-question\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div\n key=\"help\"\n className={style.help}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: get('help', answerUI)}}\n />\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string,\n disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n disabledContent,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-testid=\"review-slide\" className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n <>\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n disableContent={disabledContent}\n key=\"question-container\"\n />\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n </>\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","useEffect","PropTypes","classnames","get","getOr","Answer","ButtonLink","Loader","ReviewCorrectionPopin","GetSkinFromContext","propTypes","style","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","onClick","_correctionPopinProps","type","resultLabel","keyDownHandler","event","key","preventDefault","document","removeEventListener","addEventListener","correctionPopinWrapper","popinAnimation","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","disabledContent","loader"],"sources":["../../../src/organism/review-slide/index.js"],"sourcesContent":["import React, {useMemo, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n // there is an error of eslint here because this useEffect will be only there when the correctionPopin will be there\n // but that is on purpose to go to the next slide if you press enter when the correctionPopin is present\n // istanbul ignore next\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n const keyDownHandler = event => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onClick();\n document.removeEventListener('keydown', keyDownHandler);\n }\n };\n document.addEventListener('keydown', keyDownHandler);\n }, []);\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n };\n\n /* istanbul ignore next */\n useEffect(() => {\n const keyDownHandler = event => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n }\n };\n if (disabled) document.addEventListener('keydown', keyDownHandler);\n return () => {\n document.removeEventListener('keydown', keyDownHandler);\n };\n }, [disabled]);\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n data-testid=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n data-testid=\"slide-question\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div\n key=\"help\"\n className={style.help}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: get('help', answerUI)}}\n />\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string,\n disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n disabledContent,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-testid=\"review-slide\" className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n <>\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n disableContent={disabledContent}\n key=\"question-container\"\n />\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n </>\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,EAAwBC,SAAxB,QAAwC,OAAxC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,MAAP,MAAmB,uBAAnB;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,qBAAP,MAAkC,wCAAlC;AACA,SAAQC,kBAAR,QAAiC,qBAAjC;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,eAAe,GAAG,CAAC;EACvBC,oBADuB;EAEvBC,UAFuB;EAGvBC,mBAHuB;EAIvBC;AAJuB,CAAD,KAKlB;EACJ,IAAI,CAACD,mBAAL,EAA0B,OAAO,IAAP;EAE1B,MAAME,GAAG,GAAGb,KAAK,CAAC,EAAD,EAAK,KAAL,EAAYS,oBAAZ,CAAjB;EACA,MAAMK,WAAW,GAAGd,KAAK,CAAC;IAACe,KAAK,EAAE,EAAR;IAAYC,OAAO,EAAE;EAArB,CAAD,EAA2B,aAA3B,EAA0CP,oBAA1C,CAAzB;EACA,MAAMQ,IAAI,GAAGlB,GAAG,CAAC,MAAD,EAASU,oBAAT,CAAhB;EACA,MAAMS,OAAO,GAAGnB,GAAG,CAAC,CAAC,MAAD,EAAS,SAAT,CAAD,EAAsBU,oBAAtB,CAAnB;EAEA,MAAMU,qBAAqB,GAAG;IAC5BF,IAAI,EAAE;MACJC,OADI;MAEJH,KAAK,EAAEE,IAAI,IAAIA,IAAI,CAACF,KAFhB;MAGJ,aAAc,wBAAuBL,UAAW,EAH5C;MAIJ,cAAcO,IAAI,IAAIA,IAAI,CAAC,YAAD;IAJtB,CADsB;IAO5BJ,GAP4B;IAQ5BC,WAR4B;IAS5BM,IAAI,EAAEX,oBAAoB,CAACW,IATC;IAU5BC,WAAW,EAAEZ,oBAAoB,CAACY;EAVN,CAA9B,CARI,CAqBJ;EACA;EACA;EACA;;EACAzB,SAAS,CAAC,MAAM;IACd,MAAM0B,cAAc,GAAGC,KAAK,IAAI;MAC9B,IAAIA,KAAK,CAACC,GAAN,KAAc,OAAd,IAAyBD,KAAK,CAACC,GAAN,KAAc,GAA3C,EAAgD;QAC9CD,KAAK,CAACE,cAAN;QACAP,OAAO;QACPQ,QAAQ,CAACC,mBAAT,CAA6B,SAA7B,EAAwCL,cAAxC;MACD;IACF,CAND;;IAOAI,QAAQ,CAACE,gBAAT,CAA0B,SAA1B,EAAqCN,cAArC;EACD,CATQ,EASN,EATM,CAAT;EAWA,oBACE;IACE,SAAS,EAAExB,UAAU,CACnBS,KAAK,CAACsB,sBADa,EAEnBjB,sBAAsB,GAAGL,KAAK,CAACuB,cAAT,GAA0B,IAF7B;EADvB,gBAME,oBAAC,qBAAD,EAA2BX,qBAA3B,CANF,CADF;AAUD,CAnDD;;AAqDAX,eAAe,CAACF,SAAhB,2CAA4B;EAC1BI,UAAU,EAAEb,SAAS,CAACkC,MADI;EAE1BpB,mBAAmB,EAAEd,SAAS,CAACmC,IAFL;EAG1BpB,sBAAsB,EAAEf,SAAS,CAACmC,IAHR;EAI1BvB,oBAAoB,EAAEH,SAAS,CAACG;AAJN,CAA5B;;AAOA,MAAMwB,cAAc,GAAG,CAAC;EAACvB,UAAD;EAAawB,cAAb;EAA6BC;AAA7B,CAAD,KAAoD;EACzE,MAAM;IAACpB,KAAD;IAAQG,OAAR;IAAiBkB;EAAjB,IAA6BF,cAAnC;EACA,MAAMG,mBAAmB,GAAG;IAC1BjB,IAAI,EAAE,SADoB;IAE1BL,KAF0B;IAG1B,cAAcA,KAHY;IAI1B,aAAc,yBAAwBL,UAAW,EAJvB;IAK1BQ,OAL0B;IAM1BkB,QAN0B;IAO1BE,SAAS,EAAE/B,KAAK,CAAC2B,cAPS;IAQ1BK,WAAW,EAAE;MACXC,eAAe,EAAEL;IADN;EARa,CAA5B;EAaA;;EACAvC,SAAS,CAAC,MAAM;IACd,MAAM0B,cAAc,GAAGC,KAAK,IAAI;MAC9B,IAAIA,KAAK,CAACC,GAAN,KAAc,OAAd,IAAyBD,KAAK,CAACC,GAAN,KAAc,GAA3C,EAAgD;QAC9CD,KAAK,CAACE,cAAN;MACD;IACF,CAJD;;IAKA,IAAIW,QAAJ,EAAcV,QAAQ,CAACE,gBAAT,CAA0B,SAA1B,EAAqCN,cAArC;IACd,OAAO,MAAM;MACXI,QAAQ,CAACC,mBAAT,CAA6B,SAA7B,EAAwCL,cAAxC;IACD,CAFD;EAGD,CAVQ,EAUN,CAACc,QAAD,CAVM,CAAT;EAYA,oBACE;IAAK,GAAG,EAAC,gBAAT;IAA0B,SAAS,EAAE7B,KAAK,CAACkC;EAA3C,gBACE,oBAAC,UAAD,EAAgBJ,mBAAhB,CADF,CADF;AAKD,CAjCD;;AAmCAJ,cAAc,CAAC3B,SAAf,2CAA2B;EACzBI,UAAU,EAAEb,SAAS,CAACkC,MADG;EAEzBG,cAAc,EAAE5B,SAAS,CAAC4B,cAFD;EAGzBC,gBAAgB,EAAEtC,SAAS,CAACkC;AAHH,CAA3B;;AAMA,MAAMW,iBAAiB,GAAGC,KAAK,IAAI;EACjC,MAAM;IAACC,QAAD;IAAWC,YAAX;IAAyBC,cAAzB;IAAyCC;EAAzC,IAA2DJ,KAAjE;EACA,IAAI,CAACC,QAAD,IAAa,CAACC,YAAlB,EAAgC,OAAO,IAAP;EAEhC,oBACE;IACE,GAAG,EAAC,mBADN;IAEE,eAAY,mBAFd;IAGE,SAAS,EAAE/C,UAAU,CACnBS,KAAK,CAACyC,qBADa,EAEnBD,cAAc,GAAGxC,KAAK,CAAC0C,oBAAT,GAAgC,IAF3B;EAHvB,gBAQE;IAAK,GAAG,EAAC,aAAT;IAAuB,SAAS,EAAE1C,KAAK,CAACuC;EAAxC,GACGA,cADH,CARF,eAWE;IACE,GAAG,EAAC,OADN;IAEE,eAAY,gBAFd;IAGE,SAAS,EAAEvC,KAAK,CAAC2C,QAHnB,CAIE;IAJF;IAKE,uBAAuB,EAAE;MAACC,MAAM,EAAEN;IAAT;EAL3B,EAXF,eAkBE;IACE,GAAG,EAAC,MADN;IAEE,SAAS,EAAEtC,KAAK,CAAC6C,IAFnB,CAGE;IAHF;IAIE,uBAAuB,EAAE;MAACD,MAAM,EAAEpD,GAAG,CAAC,MAAD,EAAS6C,QAAT;IAAZ;EAJ3B,EAlBF,eAwBE;IAAK,GAAG,EAAC,kBAAT;IAA4B,SAAS,EAAErC,KAAK,CAAC8C;EAA7C,gBACE,oBAAC,MAAD,eAAYT,QAAZ;IAAsB,GAAG,EAAC;EAA1B,GADF,CAxBF,CADF;AA8BD,CAlCD;;AAoCAF,iBAAiB,CAACpC,SAAlB,2CAA8B;EAC5BsC,QAAQ,EAAE/C,SAAS,CAACyD,KAAV,CAAgBhD,SAAS,CAACiD,KAAV,CAAgBX,QAAhC,CADkB;EAE5BC,YAAY,EAAEhD,SAAS,CAACkC,MAFI;EAG5Be,cAAc,EAAEjD,SAAS,CAACkC,MAHE;EAI5BgB,cAAc,EAAElD,SAAS,CAACmC;AAJE,CAA9B;;AAOA,MAAMwB,WAAW,GAAGb,KAAK,IAAI;EAC3B,MAAM;IAACY,KAAD;IAAQrB,cAAR;IAAwBzB,oBAAxB;IAA8CC,UAAU,GAAG;EAA3D,IAAkEiC,KAAxE;EAEA,MAAMc,IAAI,GAAGpD,kBAAkB,EAA/B;EACA,MAAM8B,gBAAgB,GAAGxC,OAAO,CAAC,MAAMK,KAAK,CAAC,SAAD,EAAY,gBAAZ,EAA8ByD,IAA9B,CAAZ,EAAiD,CAACA,IAAD,CAAjD,CAAhC;EACA,MAAM;IACJC,OADI;IAEJC,gBAFI;IAGJC,kBAHI;IAIJf,YAJI;IAKJgB,eALI;IAMJjB,QANI;IAOJjC,mBAPI;IAQJC;EARI,IASF2C,KATJ;EAWA,oBACE;IAAK,eAAY,cAAjB;IAAgC,SAAS,EAAEhD,KAAK,CAACgD;EAAjD,GACGG,OAAO,gBACN,oBAAC,MAAD;IAAQ,SAAS,EAAEnD,KAAK,CAACuD,MAAzB;IAAiC,KAAK,EAAC,SAAvC;IAAiD,cAAYH;EAA7D,EADM,gBAGN,uDACE,oBAAC,iBAAD;IACE,cAAc,EAAEC,kBADlB;IAEE,YAAY,EAAEf,YAFhB;IAGE,QAAQ,EAAED,QAHZ;IAIE,cAAc,EAAEiB,eAJlB;IAKE,GAAG,EAAC;EALN,EADF,eAQE,oBAAC,cAAD;IACE,UAAU,EAAEnD,UADd;IAEE,cAAc,EAAEwB,cAFlB;IAGE,gBAAgB,EAAEC,gBAHpB;IAIE,GAAG,EAAC;EAJN,EARF,eAcE,oBAAC,eAAD;IACE,oBAAoB,EAAE1B,oBADxB;IAEE,UAAU,EAAEC,UAFd;IAGE,mBAAmB,EAAEC,mBAHvB;IAIE,sBAAsB,EAAEC,sBAJ1B;IAKE,GAAG,EAAC;EALN,EAdF,CAJJ,CADF;AA8BD,CA9CD;;AAgDA4C,WAAW,CAAClD,SAAZ,2CAAwBA,SAAxB;AAEA,eAAekD,WAAf"}
@@ -146,6 +146,7 @@ declare namespace WizardContents {
146
146
  modified: PropTypes.Requireable<boolean>;
147
147
  error: PropTypes.Requireable<boolean>;
148
148
  'aria-label': PropTypes.Requireable<string>;
149
+ selectId: PropTypes.Requireable<string>;
149
150
  }> | PropTypes.InferProps<{
150
151
  type: PropTypes.Requireable<string>;
151
152
  title: PropTypes.Validator<string>;
@@ -250,6 +251,7 @@ declare namespace WizardContents {
250
251
  modified: PropTypes.Requireable<boolean>;
251
252
  error: PropTypes.Requireable<boolean>;
252
253
  'aria-label': PropTypes.Requireable<string>;
254
+ selectId: PropTypes.Requireable<string>;
253
255
  }> | PropTypes.InferProps<{
254
256
  type: PropTypes.Requireable<string>;
255
257
  title: PropTypes.Validator<string>;
@@ -231,6 +231,7 @@ declare namespace BrandUpdate {
231
231
  modified: PropTypes.Requireable<boolean>;
232
232
  error: PropTypes.Requireable<boolean>;
233
233
  'aria-label': PropTypes.Requireable<string>;
234
+ selectId: PropTypes.Requireable<string>;
234
235
  }> | PropTypes.InferProps<{
235
236
  type: PropTypes.Requireable<string>;
236
237
  title: PropTypes.Validator<string>;
@@ -335,6 +336,7 @@ declare namespace BrandUpdate {
335
336
  modified: PropTypes.Requireable<boolean>;
336
337
  error: PropTypes.Requireable<boolean>;
337
338
  'aria-label': PropTypes.Requireable<string>;
339
+ selectId: PropTypes.Requireable<string>;
338
340
  }> | PropTypes.InferProps<{
339
341
  type: PropTypes.Requireable<string>;
340
342
  title: PropTypes.Validator<string>;
@@ -854,6 +856,7 @@ declare namespace BrandUpdate {
854
856
  modified: PropTypes.Requireable<boolean>;
855
857
  error: PropTypes.Requireable<boolean>;
856
858
  'aria-label': PropTypes.Requireable<string>;
859
+ selectId: PropTypes.Requireable<string>;
857
860
  }> | PropTypes.InferProps<{
858
861
  type: PropTypes.Requireable<string>;
859
862
  title: PropTypes.Validator<string>;
@@ -958,6 +961,7 @@ declare namespace BrandUpdate {
958
961
  modified: PropTypes.Requireable<boolean>;
959
962
  error: PropTypes.Requireable<boolean>;
960
963
  'aria-label': PropTypes.Requireable<string>;
964
+ selectId: PropTypes.Requireable<string>;
961
965
  }> | PropTypes.InferProps<{
962
966
  type: PropTypes.Requireable<string>;
963
967
  title: PropTypes.Validator<string>;
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  .left {
35
- width: 223px;
35
+ width: 248px;
36
36
  }
37
37
 
38
38
  .contentWrapper {
@@ -86,7 +86,7 @@
86
86
  height: 100%;
87
87
  overflow: scroll;
88
88
  z-index: 999;
89
- width: 16%;
89
+ min-width: 240px
90
90
  }
91
91
 
92
92
  .content {
@@ -58,6 +58,7 @@ declare namespace SearchPage {
58
58
  modified: PropTypes.Requireable<boolean>;
59
59
  error: PropTypes.Requireable<boolean>;
60
60
  'aria-label': PropTypes.Requireable<string>;
61
+ selectId: PropTypes.Requireable<string>;
61
62
  }>>;
62
63
  onSearch: PropTypes.Requireable<(...args: any[]) => any>;
63
64
  onToggleFilters: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/common/search-page/index.js"],"names":[],"mappings":";AAUA,mEAgDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/common/search-page/index.js"],"names":[],"mappings":";AAUA,mEAkDC"}
@@ -49,7 +49,8 @@ const SearchPage = (props, context) => {
49
49
  "data-name": "searchResult",
50
50
  className: style.cardsWrapper
51
51
  }, /*#__PURE__*/React.createElement("div", {
52
- className: style.title
52
+ className: style.title,
53
+ role: "status"
53
54
  }, title), cardsView));
54
55
  };
55
56
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","Provider","Button","Filters","CardsGrid","CardsList","style","SearchPage","props","context","title","searchFilters","cards","noresultsfound","clearFilters","recommendations","moreSortAriaLabel","moreFilterAriaLabel","skin","defaultColor","recommendationsView","cardsView","list","noresults","noresultstxt","clear","background","cardsWrapper","contextTypes","childContextTypes","propTypes","string","shape"],"sources":["../../../../src/template/common/search-page/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, isEmpty} from 'lodash/fp';\nimport Provider from '../../../atom/provider';\nimport Button from '../../../atom/button';\nimport Filters from '../../../molecule/filters';\nimport CardsGrid from '../../../organism/cards-grid';\nimport CardsList from '../../../molecule/dashboard/cards-list';\nimport style from './style.css';\n\nconst SearchPage = (props, context) => {\n const {\n title,\n searchFilters,\n cards,\n noresultsfound,\n clearFilters,\n recommendations,\n moreSortAriaLabel,\n moreFilterAriaLabel\n } = props;\n\n const {skin} = context;\n const defaultColor = getOr('#00B0FF', 'common.primary', skin);\n\n const recommendationsView = isEmpty(recommendations) ? null : <CardsList {...recommendations} />;\n\n const cardsView = isEmpty(cards.list) ? (\n <div>\n <div className={style.noresults}>\n <div className={style.noresultstxt}>{noresultsfound}</div>\n <Button\n {...clearFilters}\n data-name=\"searchPageClear\"\n className={style.clear}\n style={{background: defaultColor}}\n type=\"link\"\n />\n </div>\n {recommendationsView}\n </div>\n ) : (\n <CardsGrid {...cards} />\n );\n\n return (\n <div>\n <Filters\n {...searchFilters}\n moreSortAriaLabel={moreSortAriaLabel}\n moreFilterAriaLabel={moreFilterAriaLabel}\n />\n <div data-name=\"searchResult\" className={style.cardsWrapper}>\n <div className={style.title}>{title}</div>\n {cardsView}\n </div>\n </div>\n );\n};\n\nSearchPage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSearchPage.propTypes = {\n noresultsfound: PropTypes.string,\n title: PropTypes.string,\n searchFilters: PropTypes.shape(Filters.propTypes),\n cards: PropTypes.shape(CardsGrid.propTypes),\n clearFilters: PropTypes.shape(Button.propTypes),\n recommendations: PropTypes.shape(CardsList.propTypes),\n moreSortAriaLabel: PropTypes.string,\n moreFilterAriaLabel: PropTypes.string\n};\n\nexport default SearchPage;\n"],"mappings":";;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,QAAP,MAAqB,wBAArB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,OAAP,MAAoB,2BAApB;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,OAAOC,SAAP,MAAsB,wCAAtB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,UAAU,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACrC,MAAM;IACJC,KADI;IAEJC,aAFI;IAGJC,KAHI;IAIJC,cAJI;IAKJC,YALI;IAMJC,eANI;IAOJC,iBAPI;IAQJC;EARI,IASFT,KATJ;EAWA,MAAM;IAACU;EAAD,IAAST,OAAf;;EACA,MAAMU,YAAY,GAAG,OAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAArB;;EAEA,MAAME,mBAAmB,GAAG,SAAQL,eAAR,IAA2B,IAA3B,gBAAkC,oBAAC,SAAD,EAAeA,eAAf,CAA9D;EAEA,MAAMM,SAAS,GAAG,SAAQT,KAAK,CAACU,IAAd,iBAChB,8CACE;IAAK,SAAS,EAAEhB,KAAK,CAACiB;EAAtB,gBACE;IAAK,SAAS,EAAEjB,KAAK,CAACkB;EAAtB,GAAqCX,cAArC,CADF,eAEE,oBAAC,MAAD,eACMC,YADN;IAEE,aAAU,iBAFZ;IAGE,SAAS,EAAER,KAAK,CAACmB,KAHnB;IAIE,KAAK,EAAE;MAACC,UAAU,EAAEP;IAAb,CAJT;IAKE,IAAI,EAAC;EALP,GAFF,CADF,EAWGC,mBAXH,CADgB,gBAehB,oBAAC,SAAD,EAAeR,KAAf,CAfF;EAkBA,oBACE,8CACE,oBAAC,OAAD,eACMD,aADN;IAEE,iBAAiB,EAAEK,iBAFrB;IAGE,mBAAmB,EAAEC;EAHvB,GADF,eAME;IAAK,aAAU,cAAf;IAA8B,SAAS,EAAEX,KAAK,CAACqB;EAA/C,gBACE;IAAK,SAAS,EAAErB,KAAK,CAACI;EAAtB,GAA8BA,KAA9B,CADF,EAEGW,SAFH,CANF,CADF;AAaD,CAhDD;;AAkDAd,UAAU,CAACqB,YAAX,GAA0B;EACxBV,IAAI,EAAEjB,QAAQ,CAAC4B,iBAAT,CAA2BX;AADT,CAA1B;AAIAX,UAAU,CAACuB,SAAX,2CAAuB;EACrBjB,cAAc,EAAEb,SAAS,CAAC+B,MADL;EAErBrB,KAAK,EAAEV,SAAS,CAAC+B,MAFI;EAGrBpB,aAAa,EAAEX,SAAS,CAACgC,KAAV,CAAgB7B,OAAO,CAAC2B,SAAxB,CAHM;EAIrBlB,KAAK,EAAEZ,SAAS,CAACgC,KAAV,CAAgB5B,SAAS,CAAC0B,SAA1B,CAJc;EAKrBhB,YAAY,EAAEd,SAAS,CAACgC,KAAV,CAAgB9B,MAAM,CAAC4B,SAAvB,CALO;EAMrBf,eAAe,EAAEf,SAAS,CAACgC,KAAV,CAAgB3B,SAAS,CAACyB,SAA1B,CANI;EAOrBd,iBAAiB,EAAEhB,SAAS,CAAC+B,MAPR;EAQrBd,mBAAmB,EAAEjB,SAAS,CAAC+B;AARV,CAAvB;AAWA,eAAexB,UAAf"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","Provider","Button","Filters","CardsGrid","CardsList","style","SearchPage","props","context","title","searchFilters","cards","noresultsfound","clearFilters","recommendations","moreSortAriaLabel","moreFilterAriaLabel","skin","defaultColor","recommendationsView","cardsView","list","noresults","noresultstxt","clear","background","cardsWrapper","contextTypes","childContextTypes","propTypes","string","shape"],"sources":["../../../../src/template/common/search-page/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, isEmpty} from 'lodash/fp';\nimport Provider from '../../../atom/provider';\nimport Button from '../../../atom/button';\nimport Filters from '../../../molecule/filters';\nimport CardsGrid from '../../../organism/cards-grid';\nimport CardsList from '../../../molecule/dashboard/cards-list';\nimport style from './style.css';\n\nconst SearchPage = (props, context) => {\n const {\n title,\n searchFilters,\n cards,\n noresultsfound,\n clearFilters,\n recommendations,\n moreSortAriaLabel,\n moreFilterAriaLabel\n } = props;\n\n const {skin} = context;\n const defaultColor = getOr('#00B0FF', 'common.primary', skin);\n\n const recommendationsView = isEmpty(recommendations) ? null : <CardsList {...recommendations} />;\n\n const cardsView = isEmpty(cards.list) ? (\n <div>\n <div className={style.noresults}>\n <div className={style.noresultstxt}>{noresultsfound}</div>\n <Button\n {...clearFilters}\n data-name=\"searchPageClear\"\n className={style.clear}\n style={{background: defaultColor}}\n type=\"link\"\n />\n </div>\n {recommendationsView}\n </div>\n ) : (\n <CardsGrid {...cards} />\n );\n\n return (\n <div>\n <Filters\n {...searchFilters}\n moreSortAriaLabel={moreSortAriaLabel}\n moreFilterAriaLabel={moreFilterAriaLabel}\n />\n <div data-name=\"searchResult\" className={style.cardsWrapper}>\n <div className={style.title} role=\"status\">\n {title}\n </div>\n {cardsView}\n </div>\n </div>\n );\n};\n\nSearchPage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSearchPage.propTypes = {\n noresultsfound: PropTypes.string,\n title: PropTypes.string,\n searchFilters: PropTypes.shape(Filters.propTypes),\n cards: PropTypes.shape(CardsGrid.propTypes),\n clearFilters: PropTypes.shape(Button.propTypes),\n recommendations: PropTypes.shape(CardsList.propTypes),\n moreSortAriaLabel: PropTypes.string,\n moreFilterAriaLabel: PropTypes.string\n};\n\nexport default SearchPage;\n"],"mappings":";;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,QAAP,MAAqB,wBAArB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,OAAP,MAAoB,2BAApB;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,OAAOC,SAAP,MAAsB,wCAAtB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,UAAU,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACrC,MAAM;IACJC,KADI;IAEJC,aAFI;IAGJC,KAHI;IAIJC,cAJI;IAKJC,YALI;IAMJC,eANI;IAOJC,iBAPI;IAQJC;EARI,IASFT,KATJ;EAWA,MAAM;IAACU;EAAD,IAAST,OAAf;;EACA,MAAMU,YAAY,GAAG,OAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAArB;;EAEA,MAAME,mBAAmB,GAAG,SAAQL,eAAR,IAA2B,IAA3B,gBAAkC,oBAAC,SAAD,EAAeA,eAAf,CAA9D;EAEA,MAAMM,SAAS,GAAG,SAAQT,KAAK,CAACU,IAAd,iBAChB,8CACE;IAAK,SAAS,EAAEhB,KAAK,CAACiB;EAAtB,gBACE;IAAK,SAAS,EAAEjB,KAAK,CAACkB;EAAtB,GAAqCX,cAArC,CADF,eAEE,oBAAC,MAAD,eACMC,YADN;IAEE,aAAU,iBAFZ;IAGE,SAAS,EAAER,KAAK,CAACmB,KAHnB;IAIE,KAAK,EAAE;MAACC,UAAU,EAAEP;IAAb,CAJT;IAKE,IAAI,EAAC;EALP,GAFF,CADF,EAWGC,mBAXH,CADgB,gBAehB,oBAAC,SAAD,EAAeR,KAAf,CAfF;EAkBA,oBACE,8CACE,oBAAC,OAAD,eACMD,aADN;IAEE,iBAAiB,EAAEK,iBAFrB;IAGE,mBAAmB,EAAEC;EAHvB,GADF,eAME;IAAK,aAAU,cAAf;IAA8B,SAAS,EAAEX,KAAK,CAACqB;EAA/C,gBACE;IAAK,SAAS,EAAErB,KAAK,CAACI,KAAtB;IAA6B,IAAI,EAAC;EAAlC,GACGA,KADH,CADF,EAIGW,SAJH,CANF,CADF;AAeD,CAlDD;;AAoDAd,UAAU,CAACqB,YAAX,GAA0B;EACxBV,IAAI,EAAEjB,QAAQ,CAAC4B,iBAAT,CAA2BX;AADT,CAA1B;AAIAX,UAAU,CAACuB,SAAX,2CAAuB;EACrBjB,cAAc,EAAEb,SAAS,CAAC+B,MADL;EAErBrB,KAAK,EAAEV,SAAS,CAAC+B,MAFI;EAGrBpB,aAAa,EAAEX,SAAS,CAACgC,KAAV,CAAgB7B,OAAO,CAAC2B,SAAxB,CAHM;EAIrBlB,KAAK,EAAEZ,SAAS,CAACgC,KAAV,CAAgB5B,SAAS,CAAC0B,SAA1B,CAJc;EAKrBhB,YAAY,EAAEd,SAAS,CAACgC,KAAV,CAAgB9B,MAAM,CAAC4B,SAAvB,CALO;EAMrBf,eAAe,EAAEf,SAAS,CAACgC,KAAV,CAAgB3B,SAAS,CAACyB,SAA1B,CANI;EAOrBd,iBAAiB,EAAEhB,SAAS,CAAC+B,MAPR;EAQrBd,mBAAmB,EAAEjB,SAAS,CAAC+B;AARV,CAAvB;AAWA,eAAexB,UAAf"}
@@ -12,21 +12,25 @@ declare namespace ReviewDashboardSkills {
12
12
  text: PropTypes.Requireable<string>;
13
13
  tooltipText: PropTypes.Requireable<string>;
14
14
  moreDetailsAreaLabel: PropTypes.Requireable<string>;
15
+ closeToolTipInformationTextAriaLabel: PropTypes.Requireable<string>;
15
16
  }>>;
16
17
  questions: PropTypes.Requireable<PropTypes.InferProps<{
17
18
  text: PropTypes.Requireable<string>;
18
19
  tooltipText: PropTypes.Requireable<string>;
19
20
  moreDetailsAreaLabel: PropTypes.Requireable<string>;
21
+ closeToolTipInformationTextAriaLabel: PropTypes.Requireable<string>;
20
22
  }>>;
21
23
  lifes: PropTypes.Requireable<PropTypes.InferProps<{
22
24
  text: PropTypes.Requireable<string>;
23
25
  tooltipText: PropTypes.Requireable<string>;
24
26
  moreDetailsAreaLabel: PropTypes.Requireable<string>;
27
+ closeToolTipInformationTextAriaLabel: PropTypes.Requireable<string>;
25
28
  }>>;
26
29
  allright: PropTypes.Requireable<PropTypes.InferProps<{
27
30
  text: PropTypes.Requireable<string>;
28
31
  tooltipText: PropTypes.Requireable<string>;
29
32
  moreDetailsAreaLabel: PropTypes.Requireable<string>;
33
+ closeToolTipInformationTextAriaLabel: PropTypes.Requireable<string>;
30
34
  }>>;
31
35
  }>>;
32
36
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/review-presentation/index.js"],"names":[],"mappings":";AAiDA,6DA8BC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/review-presentation/index.js"],"names":[],"mappings":";AAyGA,6DA+BC"}
@@ -3,7 +3,7 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
5
 
6
- var _react = _interopRequireDefault(require("react"));
6
+ var _react = _interopRequireWildcard(require("react"));
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
@@ -19,6 +19,12 @@ var _propTypes2 = _interopRequireDefault(require("./prop-types"));
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
+
22
28
  const ICONS = {
23
29
  skills: _novaIcons.NovaLineSelectionCursorsCursorArrowTarget,
24
30
  questions: _novaIcons.NovaSolidInterfaceFeedbackInterfaceQuestionMark,
@@ -26,7 +32,9 @@ const ICONS = {
26
32
  allright: _novaIcons.NovaSolidStatusCheckCircle2
27
33
  };
28
34
 
29
- const getIcon = icon => {
35
+ const ReviewIcon = ({
36
+ icon
37
+ }) => {
30
38
  const Icon = (0, _getOr.default)(null, icon, ICONS);
31
39
  /* istanbul ignore next */
32
40
 
@@ -43,22 +51,67 @@ const getIcon = icon => {
43
51
 
44
52
  const ToolTip = ({
45
53
  tooltipText,
46
- 'aria-label': moreDetailsAriaLabel
54
+ 'aria-label': moreDetailsAriaLabel,
55
+ 'data-testid': dataTestId,
56
+ closeToolTipInformationTextAriaLabel
47
57
  }) => {
58
+ const [toolTipIsVisible, setToolTipIsVisible] = (0, _react.useState)(false);
59
+ const handleKeyPress = (0, _react.useCallback)(event => {
60
+ if (event.key === 'Enter') {
61
+ setToolTipIsVisible(!toolTipIsVisible);
62
+ } else if (event.key === 'Tab' || event.key === 'Escape') {
63
+ setToolTipIsVisible(false);
64
+ }
65
+ }, [setToolTipIsVisible, toolTipIsVisible]);
66
+ const handleMouseOver = (0, _react.useCallback)(() => {
67
+ setToolTipIsVisible(true);
68
+ }, [setToolTipIsVisible]);
69
+ const handleMouseLeave = (0, _react.useCallback)(() => {
70
+ setToolTipIsVisible(false);
71
+ }, [setToolTipIsVisible]);
48
72
  return /*#__PURE__*/_react.default.createElement("div", {
49
- className: _style.default.tooltipContainer
50
- }, /*#__PURE__*/_react.default.createElement("div", {
51
- className: _style.default.tooltipIconContainer
73
+ className: _style.default.tooltipContainer,
74
+ onMouseLeave: handleMouseLeave,
75
+ onMouseOver: handleMouseOver
76
+ }, /*#__PURE__*/_react.default.createElement("button", {
77
+ type: "button",
78
+ className: _style.default.tooltipIconContainer,
79
+ "data-testid": dataTestId,
80
+ onKeyDown: handleKeyPress,
81
+ tabIndex: 0
52
82
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyInformationIcon, {
53
83
  className: _style.default.informationIcon,
54
84
  width: 12,
55
85
  height: 12,
56
86
  "aria-label": moreDetailsAriaLabel
57
- })), /*#__PURE__*/_react.default.createElement("div", {
58
- className: _style.default.toolTip
87
+ })), toolTipIsVisible ? /*#__PURE__*/_react.default.createElement("div", {
88
+ className: _style.default.toolTip,
89
+ "data-testid": "review-presentation-tooltip",
90
+ "aria-label": closeToolTipInformationTextAriaLabel
59
91
  }, /*#__PURE__*/_react.default.createElement("p", {
60
92
  className: _style.default.tooltipText
61
- }, tooltipText)));
93
+ }, tooltipText)) : null);
94
+ };
95
+
96
+ const ReviewListItemWrapper = ({
97
+ iconKey,
98
+ label
99
+ }) => {
100
+ return /*#__PURE__*/_react.default.createElement("div", {
101
+ className: _style.default.reviewListItemWrapper,
102
+ "data-tip": true,
103
+ "data-for": "reviewListItem",
104
+ tabIndex: 0
105
+ }, /*#__PURE__*/_react.default.createElement("div", {
106
+ className: _style.default.reviewListText
107
+ }, /*#__PURE__*/_react.default.createElement(ReviewIcon, {
108
+ icon: iconKey
109
+ }), " ", label.text), /*#__PURE__*/_react.default.createElement(ToolTip, {
110
+ tooltipText: label.tooltipText,
111
+ "aria-label": label.moreDetailsAriaLabel,
112
+ closeToolTipInformationTextAriaLabel: label.closeToolTipInformationTextAriaLabel,
113
+ "data-testid": `review-list-item-tooltip-button-${iconKey}`
114
+ }));
62
115
  };
63
116
 
64
117
  const ReviewPresentation = props => {
@@ -91,23 +144,31 @@ const ReviewPresentation = props => {
91
144
  return /*#__PURE__*/_react.default.createElement("li", {
92
145
  key: `step-${key}`,
93
146
  className: _style.default.reviewList
94
- }, /*#__PURE__*/_react.default.createElement("div", {
95
- className: _style.default.reviewListItemWrapper,
96
- "data-tip": true,
97
- "data-for": "reviewListItem"
98
- }, /*#__PURE__*/_react.default.createElement("div", {
99
- className: _style.default.reviewListText
100
- }, getIcon(key), " ", label.text), /*#__PURE__*/_react.default.createElement(ToolTip, {
147
+ }, /*#__PURE__*/_react.default.createElement(ReviewListItemWrapper, {
148
+ iconKey: key,
149
+ label: label,
101
150
  tooltipText: label.tooltipText,
102
151
  "aria-label": label.moreDetailsAriaLabel
103
- })));
152
+ }));
104
153
  }, labelsList)));
105
154
  };
106
155
 
107
156
  ToolTip.propTypes = process.env.NODE_ENV !== "production" ? {
108
157
  tooltipText: _propTypes.default.string,
109
- 'aria-label': _propTypes.default.string
158
+ 'aria-label': _propTypes.default.string,
159
+ 'data-testid': _propTypes.default.string,
160
+ closeToolTipInformationTextAriaLabel: _propTypes.default.string
161
+ } : {};
162
+ ReviewIcon.propTypes = process.env.NODE_ENV !== "production" ? {
163
+ icon: _propTypes.default.string
110
164
  } : {};
165
+ ReviewListItemWrapper.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, ToolTip.propTypes, {
166
+ iconKey: _propTypes.default.string,
167
+ label: _propTypes.default.shape({
168
+ tooltipText: _propTypes.default.string,
169
+ moreDetailsAriaLabel: _propTypes.default.string
170
+ })
171
+ }) : {};
111
172
  ReviewPresentation.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.default : {};
112
173
  var _default = ReviewPresentation;
113
174
  exports.default = _default;