@coorpacademy/components 11.4.3 → 11.4.5-alpha.36
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.
- package/es/molecule/add-to-my-list/index.js +3 -1
- package/es/molecule/add-to-my-list/index.js.map +1 -1
- package/es/molecule/answer/index.d.ts.map +1 -1
- package/es/molecule/answer/index.js +16 -6
- package/es/molecule/answer/index.js.map +1 -1
- package/es/molecule/card/notification.js +3 -1
- package/es/molecule/card/notification.js.map +1 -1
- package/es/molecule/filters/filters-wrapper.d.ts +1 -0
- package/es/molecule/filters/filters-wrapper.d.ts.map +1 -1
- package/es/molecule/filters/filters-wrapper.js +9 -5
- package/es/molecule/filters/filters-wrapper.js.map +1 -1
- package/es/molecule/filters/index.d.ts +1 -0
- package/es/molecule/filters/index.d.ts.map +1 -1
- package/es/molecule/filters/index.js +6 -3
- package/es/molecule/filters/index.js.map +1 -1
- package/es/molecule/forum/forum-post/index.d.ts.map +1 -1
- package/es/molecule/forum/forum-post/index.js +2 -1
- package/es/molecule/forum/forum-post/index.js.map +1 -1
- package/es/molecule/questions/drop-down/index.d.ts +1 -0
- package/es/molecule/questions/drop-down/index.js +7 -3
- package/es/molecule/questions/drop-down/index.js.map +1 -1
- package/es/molecule/questions/qcm/index.d.ts +1 -0
- package/es/molecule/questions/qcm/index.js +7 -3
- package/es/molecule/questions/qcm/index.js.map +1 -1
- package/es/molecule/questions/qcm-drag/index.d.ts +3 -1
- package/es/molecule/questions/qcm-drag/index.d.ts.map +1 -1
- package/es/molecule/questions/qcm-drag/index.js +7 -3
- package/es/molecule/questions/qcm-drag/index.js.map +1 -1
- package/es/molecule/questions/qcm-graphic/index.d.ts +1 -0
- package/es/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
- package/es/molecule/questions/qcm-graphic/index.js +7 -3
- package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
- package/es/molecule/questions/question-range/index.d.ts +1 -0
- package/es/molecule/questions/question-range/index.js +8 -4
- package/es/molecule/questions/question-range/index.js.map +1 -1
- package/es/molecule/questions/template/index.d.ts +6 -2
- package/es/molecule/questions/template/index.d.ts.map +1 -1
- package/es/molecule/questions/template/index.js +7 -3
- package/es/molecule/questions/template/index.js.map +1 -1
- package/es/molecule/share/index.d.ts.map +1 -1
- package/es/molecule/share/index.js +5 -1
- package/es/molecule/share/index.js.map +1 -1
- package/es/organism/review-slide/index.d.ts.map +1 -1
- package/es/organism/review-slide/index.js +31 -2
- package/es/organism/review-slide/index.js.map +1 -1
- package/es/organism/user-preferences/index.d.ts +1 -0
- package/es/organism/user-preferences/index.js +7 -3
- package/es/organism/user-preferences/index.js.map +1 -1
- package/es/template/common/search-page/index.d.ts +2 -0
- package/es/template/common/search-page/index.d.ts.map +1 -1
- package/es/template/common/search-page/index.js +8 -4
- package/es/template/common/search-page/index.js.map +1 -1
- package/lib/molecule/add-to-my-list/index.js +3 -1
- package/lib/molecule/add-to-my-list/index.js.map +1 -1
- package/lib/molecule/answer/index.d.ts.map +1 -1
- package/lib/molecule/answer/index.js +16 -6
- package/lib/molecule/answer/index.js.map +1 -1
- package/lib/molecule/card/notification.js +3 -1
- package/lib/molecule/card/notification.js.map +1 -1
- package/lib/molecule/filters/filters-wrapper.d.ts +1 -0
- package/lib/molecule/filters/filters-wrapper.d.ts.map +1 -1
- package/lib/molecule/filters/filters-wrapper.js +9 -5
- package/lib/molecule/filters/filters-wrapper.js.map +1 -1
- package/lib/molecule/filters/index.d.ts +1 -0
- package/lib/molecule/filters/index.d.ts.map +1 -1
- package/lib/molecule/filters/index.js +6 -3
- package/lib/molecule/filters/index.js.map +1 -1
- package/lib/molecule/forum/forum-post/index.d.ts.map +1 -1
- package/lib/molecule/forum/forum-post/index.js +2 -1
- package/lib/molecule/forum/forum-post/index.js.map +1 -1
- package/lib/molecule/questions/drop-down/index.d.ts +1 -0
- package/lib/molecule/questions/drop-down/index.js +7 -3
- package/lib/molecule/questions/drop-down/index.js.map +1 -1
- package/lib/molecule/questions/qcm/index.d.ts +1 -0
- package/lib/molecule/questions/qcm/index.js +7 -3
- package/lib/molecule/questions/qcm/index.js.map +1 -1
- package/lib/molecule/questions/qcm-drag/index.d.ts +3 -1
- package/lib/molecule/questions/qcm-drag/index.d.ts.map +1 -1
- package/lib/molecule/questions/qcm-drag/index.js +7 -3
- package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
- package/lib/molecule/questions/qcm-graphic/index.d.ts +1 -0
- package/lib/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
- package/lib/molecule/questions/qcm-graphic/index.js +7 -3
- package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
- package/lib/molecule/questions/question-range/index.d.ts +1 -0
- package/lib/molecule/questions/question-range/index.js +8 -4
- package/lib/molecule/questions/question-range/index.js.map +1 -1
- package/lib/molecule/questions/template/index.d.ts +6 -2
- package/lib/molecule/questions/template/index.d.ts.map +1 -1
- package/lib/molecule/questions/template/index.js +7 -3
- package/lib/molecule/questions/template/index.js.map +1 -1
- package/lib/molecule/share/index.d.ts.map +1 -1
- package/lib/molecule/share/index.js +5 -1
- package/lib/molecule/share/index.js.map +1 -1
- package/lib/organism/review-slide/index.d.ts.map +1 -1
- package/lib/organism/review-slide/index.js +30 -1
- package/lib/organism/review-slide/index.js.map +1 -1
- package/lib/organism/user-preferences/index.d.ts +1 -0
- package/lib/organism/user-preferences/index.js +7 -3
- package/lib/organism/user-preferences/index.js.map +1 -1
- package/lib/template/common/search-page/index.d.ts +2 -0
- package/lib/template/common/search-page/index.d.ts.map +1 -1
- package/lib/template/common/search-page/index.js +8 -4
- package/lib/template/common/search-page/index.js.map +1 -1
- package/locales/en/global.json +6 -1
- package/locales/fr/global.json +6 -1
- package/locales/ru/global.json +6 -1
- package/package.json +2 -2
- package/locales/.mtslconfig.json +0 -1
|
@@ -42,7 +42,9 @@ export const AddToMyListFeedback = ({
|
|
|
42
42
|
className: styles.checkIcon,
|
|
43
43
|
width: 13,
|
|
44
44
|
height: 13
|
|
45
|
-
}), /*#__PURE__*/React.createElement("p",
|
|
45
|
+
}), /*#__PURE__*/React.createElement("p", {
|
|
46
|
+
role: "status"
|
|
47
|
+
}, favorite ? addToMyListText : removeFromMyListText));
|
|
46
48
|
};
|
|
47
49
|
|
|
48
50
|
const AddToMyList = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useState","useContext","useEffect","useMemo","PropTypes","classnames","NovaCompositionCoorpacademyCheck","CheckIcon","NovaCompositionNavigationMore","MoreIcon","Link","styles","ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","createContext","AddToMyListStatusProvider","children","status","setStatus","timeoutId","DURATION","setTimeout","clearTimeout","statusValue","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n const statusValue = useMemo(() => [status, setStatus], [status, setStatus]);\n return <StatusContext.Provider value={statusValue}>{children}</StatusContext.Provider>;\n};\n\nexport const AddToMyListFeedback = ({addToMyListText, removeFromMyListText, favorite}) => {\n const [status] = useContext(StatusContext);\n if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;\n\n return (\n <div className={classnames(styles.feedback)} data-name={'add-to-my-list-feedback'}>\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n <p>{favorite ? addToMyListText : removeFromMyListText}</p>\n </div>\n );\n};\n\nconst AddToMyList = ({style, addToMyListButton, favorite, onFavoriteClick}) => {\n const [, setStatus] = useContext(StatusContext);\n const cb = () => setStatus(ADD_TO_MY_LIST_STATUS.SUCCESS);\n\n function onClick() {\n onFavoriteClick(cb);\n }\n\n return (\n <div className={(styles.container, style)}>\n <Link data-name={'add-to-my-list-button'} onClick={onClick} className={styles.cta}>\n <div className={styles.wrapper}>\n {favorite ? (\n <CheckIcon className={styles.shareIcon} width={15} height={15} />\n ) : (\n <MoreIcon className={styles.shareIcon} width={12} height={12} />\n )}\n <p>{addToMyListButton}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nAddToMyListStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nAddToMyListFeedback.propTypes = {\n addToMyListText: PropTypes.string,\n removeFromMyListText: PropTypes.string,\n favorite: PropTypes.bool\n};\n\nAddToMyList.propTypes = {\n style: PropTypes.string,\n addToMyListButton: PropTypes.string,\n favorite: PropTypes.bool,\n onFavoriteClick: PropTypes.func\n};\n\nexport default AddToMyList;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,UAAzB,EAAqCC,SAArC,EAAgDC,OAAhD,QAA8D,OAA9D;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SACEC,gCAAgC,IAAIC,SADtC,EAEEC,6BAA6B,IAAIC,QAFnC,QAGO,0BAHP;AAIA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,MAAP,MAAmB,aAAnB;AAEA,MAAMC,qBAAqB,GAAG;EAC5BC,IAAI,EAAE,MADsB;EAE5BC,OAAO,EAAE;AAFmB,CAA9B;AAKA,MAAMC,aAAa,gBAAGhB,KAAK,CAACiB,aAAN,CAAoBJ,qBAAqB,CAACC,IAA1C,CAAtB;AAEA,OAAO,MAAMI,yBAAyB,GAAG,CAAC;EAACC;AAAD,CAAD,KAAgB;EACvD,MAAM,CAACC,MAAD,EAASC,SAAT,IAAsBpB,QAAQ,CAACY,qBAAqB,CAACC,IAAvB,CAApC;EACAX,SAAS,CAAC,MAAM;IACd,IAAImB,SAAJ;IACA,MAAMC,QAAQ,GAAG,IAAjB;;IACA,IAAIH,MAAM,KAAKP,qBAAqB,CAACC,IAArC,EAA2C;MACzCQ,SAAS,GAAGE,UAAU,CAAC,MAAMH,SAAS,CAACR,qBAAqB,CAACC,IAAvB,CAAhB,EAA8CS,QAA9C,CAAtB;IACD;;IACD,OAAO,MAAME,YAAY,CAACH,SAAD,CAAzB;EACD,CAPQ,EAON,CAACF,MAAD,CAPM,CAAT;EAQA,MAAMM,WAAW,GAAGtB,OAAO,CAAC,MAAM,CAACgB,MAAD,EAASC,SAAT,CAAP,EAA4B,CAACD,MAAD,EAASC,SAAT,CAA5B,CAA3B;EACA,oBAAO,oBAAC,aAAD,CAAe,QAAf;IAAwB,KAAK,EAAEK;EAA/B,GAA6CP,QAA7C,CAAP;AACD,CAZM;AAcP,OAAO,MAAMQ,mBAAmB,GAAG,CAAC;EAACC,eAAD;EAAkBC,oBAAlB;EAAwCC;AAAxC,CAAD,KAAuD;EACxF,MAAM,CAACV,MAAD,IAAWlB,UAAU,CAACc,aAAD,CAA3B;EACA,IAAII,MAAM,KAAKP,qBAAqB,CAACC,IAArC,EAA2C,OAAO,IAAP;EAE3C,oBACE;IAAK,SAAS,EAAER,UAAU,CAACM,MAAM,CAACmB,QAAR,CAA1B;IAA6C,aAAW;EAAxD,gBACE,oBAAC,SAAD;IAAW,SAAS,EAAEnB,MAAM,CAACoB,SAA7B;IAAwC,KAAK,EAAE,EAA/C;IAAmD,MAAM,EAAE;EAA3D,EADF,eAEE
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useState","useContext","useEffect","useMemo","PropTypes","classnames","NovaCompositionCoorpacademyCheck","CheckIcon","NovaCompositionNavigationMore","MoreIcon","Link","styles","ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","createContext","AddToMyListStatusProvider","children","status","setStatus","timeoutId","DURATION","setTimeout","clearTimeout","statusValue","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n const statusValue = useMemo(() => [status, setStatus], [status, setStatus]);\n return <StatusContext.Provider value={statusValue}>{children}</StatusContext.Provider>;\n};\n\nexport const AddToMyListFeedback = ({addToMyListText, removeFromMyListText, favorite}) => {\n const [status] = useContext(StatusContext);\n if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;\n\n return (\n <div className={classnames(styles.feedback)} data-name={'add-to-my-list-feedback'}>\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n <p role=\"status\">{favorite ? addToMyListText : removeFromMyListText}</p>\n </div>\n );\n};\n\nconst AddToMyList = ({style, addToMyListButton, favorite, onFavoriteClick}) => {\n const [, setStatus] = useContext(StatusContext);\n const cb = () => setStatus(ADD_TO_MY_LIST_STATUS.SUCCESS);\n\n function onClick() {\n onFavoriteClick(cb);\n }\n\n return (\n <div className={(styles.container, style)}>\n <Link data-name={'add-to-my-list-button'} onClick={onClick} className={styles.cta}>\n <div className={styles.wrapper}>\n {favorite ? (\n <CheckIcon className={styles.shareIcon} width={15} height={15} />\n ) : (\n <MoreIcon className={styles.shareIcon} width={12} height={12} />\n )}\n <p>{addToMyListButton}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nAddToMyListStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nAddToMyListFeedback.propTypes = {\n addToMyListText: PropTypes.string,\n removeFromMyListText: PropTypes.string,\n favorite: PropTypes.bool\n};\n\nAddToMyList.propTypes = {\n style: PropTypes.string,\n addToMyListButton: PropTypes.string,\n favorite: PropTypes.bool,\n onFavoriteClick: PropTypes.func\n};\n\nexport default AddToMyList;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.js"],"names":[],"mappings":";AAkFA,iDASC"}
|
|
@@ -74,28 +74,38 @@ const Switch = ({
|
|
|
74
74
|
switch (type) {
|
|
75
75
|
case 'qcmDrag':
|
|
76
76
|
return /*#__PURE__*/React.createElement(QcmDrag, _extends({}, model, {
|
|
77
|
-
help: help
|
|
77
|
+
help: help,
|
|
78
|
+
groupAriaLabel: translate('answer_the_question')
|
|
78
79
|
}));
|
|
79
80
|
|
|
80
81
|
case 'qcm':
|
|
81
|
-
return /*#__PURE__*/React.createElement(Qcm, model
|
|
82
|
+
return /*#__PURE__*/React.createElement(Qcm, _extends({}, model, {
|
|
83
|
+
groupAriaLabel: translate('answer_the_question')
|
|
84
|
+
}));
|
|
82
85
|
|
|
83
86
|
case 'qcmGraphic':
|
|
84
|
-
return /*#__PURE__*/React.createElement(QcmGraphic, model
|
|
87
|
+
return /*#__PURE__*/React.createElement(QcmGraphic, _extends({}, model, {
|
|
88
|
+
groupAriaLabel: translate('answer_the_question')
|
|
89
|
+
}));
|
|
85
90
|
|
|
86
91
|
case 'freeText':
|
|
87
92
|
return /*#__PURE__*/React.createElement(FreeText, model);
|
|
88
93
|
|
|
89
94
|
case 'dropDown':
|
|
90
95
|
return /*#__PURE__*/React.createElement(DropDown, _extends({}, model, {
|
|
91
|
-
"aria-label": translate('drop_down_icon')
|
|
96
|
+
"aria-label": translate('drop_down_icon'),
|
|
97
|
+
groupAriaLabel: translate('answer_the_question')
|
|
92
98
|
}));
|
|
93
99
|
|
|
94
100
|
case 'slider':
|
|
95
|
-
return /*#__PURE__*/React.createElement(QuestionRange, model
|
|
101
|
+
return /*#__PURE__*/React.createElement(QuestionRange, _extends({}, model, {
|
|
102
|
+
groupAriaLabel: translate('answer_the_question')
|
|
103
|
+
}));
|
|
96
104
|
|
|
97
105
|
case 'template':
|
|
98
|
-
return /*#__PURE__*/React.createElement(Template, model
|
|
106
|
+
return /*#__PURE__*/React.createElement(Template, _extends({}, model, {
|
|
107
|
+
groupAriaLabel: translate('answer_the_question')
|
|
108
|
+
}));
|
|
99
109
|
}
|
|
100
110
|
};
|
|
101
111
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","VideoPlayer","DropDown","FreeText","QcmDrag","Qcm","QcmGraphic","QuestionRange","Template","Provider","Audio","style","propTypes","MediaViewPropTypes","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","MediaView","media","videoId","type","childProps","backgroundImage","url","video","audio","Switch","model","help","translate","contextTypes","childContextTypes","Answer","props","wrapper"],"sources":["../../../src/molecule/answer/index.js"],"sourcesContent":["import React from 'react';\nimport {omit} from 'lodash/fp';\nimport VideoPlayer from '../video-player';\nimport DropDown from '../questions/drop-down';\nimport FreeText from '../questions/free-text';\nimport QcmDrag from '../questions/qcm-drag';\nimport Qcm from '../questions/qcm';\nimport QcmGraphic from '../questions/qcm-graphic';\nimport QuestionRange from '../questions/question-range';\nimport Template from '../questions/template';\nimport Provider from '../../atom/provider';\nimport Audio from '../audio';\nimport style from './style.css';\nimport propTypes, {MediaViewPropTypes, TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from './prop-types';\n\nconst MediaView = ({media}) => {\n const {videoId, type, ...childProps} = media;\n switch (type) {\n case TYPE_IMAGE:\n return (\n <div\n className={style.media}\n style={{\n backgroundImage: `url(${media.url})`\n }}\n />\n );\n case TYPE_VIDEO:\n return (\n <div className={style.video}>\n <VideoPlayer {...omit('id', childProps)} id={videoId} height=\"100%\" width=\"100%\" />\n </div>\n );\n case TYPE_AUDIO:\n return (\n <div className={style.audio}>\n <Audio {...omit('id', childProps)} height=\"100%\" width=\"100%\" />\n </div>\n );\n default:\n return null;\n }\n};\n\nMediaView.propTypes = MediaViewPropTypes;\n\nconst Switch = ({model, help}, {translate}) => {\n const {type} = model;\n\n switch (type) {\n case 'qcmDrag':\n return <QcmDrag {...model} help={help} />;\n case 'qcm':\n return <Qcm {...model} />;\n case 'qcmGraphic':\n return <QcmGraphic {...model} />;\n case 'freeText':\n return <FreeText {...model} />;\n case 'dropDown':\n return <DropDown
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","VideoPlayer","DropDown","FreeText","QcmDrag","Qcm","QcmGraphic","QuestionRange","Template","Provider","Audio","style","propTypes","MediaViewPropTypes","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","MediaView","media","videoId","type","childProps","backgroundImage","url","video","audio","Switch","model","help","translate","contextTypes","childContextTypes","Answer","props","wrapper"],"sources":["../../../src/molecule/answer/index.js"],"sourcesContent":["import React from 'react';\nimport {omit} from 'lodash/fp';\nimport VideoPlayer from '../video-player';\nimport DropDown from '../questions/drop-down';\nimport FreeText from '../questions/free-text';\nimport QcmDrag from '../questions/qcm-drag';\nimport Qcm from '../questions/qcm';\nimport QcmGraphic from '../questions/qcm-graphic';\nimport QuestionRange from '../questions/question-range';\nimport Template from '../questions/template';\nimport Provider from '../../atom/provider';\nimport Audio from '../audio';\nimport style from './style.css';\nimport propTypes, {MediaViewPropTypes, TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from './prop-types';\n\nconst MediaView = ({media}) => {\n const {videoId, type, ...childProps} = media;\n switch (type) {\n case TYPE_IMAGE:\n return (\n <div\n className={style.media}\n style={{\n backgroundImage: `url(${media.url})`\n }}\n />\n );\n case TYPE_VIDEO:\n return (\n <div className={style.video}>\n <VideoPlayer {...omit('id', childProps)} id={videoId} height=\"100%\" width=\"100%\" />\n </div>\n );\n case TYPE_AUDIO:\n return (\n <div className={style.audio}>\n <Audio {...omit('id', childProps)} height=\"100%\" width=\"100%\" />\n </div>\n );\n default:\n return null;\n }\n};\n\nMediaView.propTypes = MediaViewPropTypes;\n\nconst Switch = ({model, help}, {translate}) => {\n const {type} = model;\n\n switch (type) {\n case 'qcmDrag':\n return <QcmDrag {...model} help={help} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcm':\n return <Qcm {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcmGraphic':\n return <QcmGraphic {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'freeText':\n return <FreeText {...model} />;\n case 'dropDown':\n return (\n <DropDown\n {...model}\n aria-label={translate('drop_down_icon')}\n groupAriaLabel={translate('answer_the_question')}\n />\n );\n case 'slider':\n return <QuestionRange {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'template':\n return <Template {...model} groupAriaLabel={translate('answer_the_question')} />;\n }\n};\n\nSwitch.propTypes = {\n model: propTypes.model,\n help: propTypes.help\n};\n\nSwitch.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nconst Answer = props => {\n const {model, media, help} = props;\n\n return (\n <div data-name=\"answer\" className={style.wrapper}>\n {media ? <MediaView media={media} /> : null}\n <Switch model={model} help={help} />\n </div>\n );\n};\n\nAnswer.propTypes = propTypes;\n\nexport default Answer;\n"],"mappings":"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"}
|
|
@@ -39,7 +39,9 @@ const Notification = props => {
|
|
|
39
39
|
stroke: null
|
|
40
40
|
}), /*#__PURE__*/React.createElement("div", {
|
|
41
41
|
className: style.message
|
|
42
|
-
}, /*#__PURE__*/React.createElement("span",
|
|
42
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
43
|
+
role: "status"
|
|
44
|
+
}, message))));
|
|
43
45
|
};
|
|
44
46
|
|
|
45
47
|
Notification.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.js","names":["React","PropTypes","classnames","NovaCompositionNavigationMore","MoreIcon","NovaSolidLoginLocked","LockIcon","NovaSolidLocksLockUnlock1","UnlockIcon","NovaCompositionCoorpacademyCheck","CheckIcon","style","NOTIFICATION_ICON","addFavorite","removeFavorite","lock","unlock","handleOverlayClick","e","stopPropagation","preventDefault","Notification","props","message","icon","IconType","showOverlay","notificationWrapper","notification","propTypes","string","isRequired","oneOf"],"sources":["../../../src/molecule/card/notification.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, keys} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaSolidLoginLocked as LockIcon,\n NovaSolidLocksLockUnlock1 as UnlockIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport style from './notification.css';\n\nconst NOTIFICATION_ICON = {\n addFavorite: CheckIcon,\n removeFavorite: MoreIcon,\n lock: LockIcon,\n unlock: UnlockIcon\n};\n\nconst handleOverlayClick = e => {\n e.stopPropagation();\n e.preventDefault();\n return false;\n};\n\nconst Notification = props => {\n const {message, icon} = props;\n\n const IconType = get(icon, NOTIFICATION_ICON);\n return (\n <div\n data-name=\"notification\"\n data-type={icon}\n onClick={handleOverlayClick}\n className={classnames(style.showOverlay, style.notificationWrapper)}\n >\n <div className={style.notification}>\n <IconType className={style.icon} color={null} stroke={null} />\n <div className={style.message}>\n <span>{message}</span>\n </div>\n </div>\n </div>\n );\n};\nNotification.propTypes = {\n message: PropTypes.string.isRequired,\n icon: PropTypes.oneOf(keys(NOTIFICATION_ICON)).isRequired\n};\n\nexport default Notification;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,6BAA6B,IAAIC,QADnC,EAEEC,oBAAoB,IAAIC,QAF1B,EAGEC,yBAAyB,IAAIC,UAH/B,EAIEC,gCAAgC,IAAIC,SAJtC,QAKO,0BALP;AAMA,OAAOC,KAAP,MAAkB,oBAAlB;AAEA,MAAMC,iBAAiB,GAAG;EACxBC,WAAW,EAAEH,SADW;EAExBI,cAAc,EAAEV,QAFQ;EAGxBW,IAAI,EAAET,QAHkB;EAIxBU,MAAM,EAAER;AAJgB,CAA1B;;AAOA,MAAMS,kBAAkB,GAAGC,CAAC,IAAI;EAC9BA,CAAC,CAACC,eAAF;EACAD,CAAC,CAACE,cAAF;EACA,OAAO,KAAP;AACD,CAJD;;AAMA,MAAMC,YAAY,GAAGC,KAAK,IAAI;EAC5B,MAAM;IAACC,OAAD;IAAUC;EAAV,IAAkBF,KAAxB;;EAEA,MAAMG,QAAQ,GAAG,KAAID,IAAJ,EAAUZ,iBAAV,CAAjB;;EACA,oBACE;IACE,aAAU,cADZ;IAEE,aAAWY,IAFb;IAGE,OAAO,EAAEP,kBAHX;IAIE,SAAS,EAAEf,UAAU,CAACS,KAAK,CAACe,WAAP,EAAoBf,KAAK,CAACgB,mBAA1B;EAJvB,gBAME;IAAK,SAAS,EAAEhB,KAAK,CAACiB;EAAtB,gBACE,oBAAC,QAAD;IAAU,SAAS,EAAEjB,KAAK,CAACa,IAA3B;IAAiC,KAAK,EAAE,IAAxC;IAA8C,MAAM,EAAE;EAAtD,EADF,eAEE;IAAK,SAAS,EAAEb,KAAK,CAACY;EAAtB,gBACE,
|
|
1
|
+
{"version":3,"file":"notification.js","names":["React","PropTypes","classnames","NovaCompositionNavigationMore","MoreIcon","NovaSolidLoginLocked","LockIcon","NovaSolidLocksLockUnlock1","UnlockIcon","NovaCompositionCoorpacademyCheck","CheckIcon","style","NOTIFICATION_ICON","addFavorite","removeFavorite","lock","unlock","handleOverlayClick","e","stopPropagation","preventDefault","Notification","props","message","icon","IconType","showOverlay","notificationWrapper","notification","propTypes","string","isRequired","oneOf"],"sources":["../../../src/molecule/card/notification.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, keys} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaSolidLoginLocked as LockIcon,\n NovaSolidLocksLockUnlock1 as UnlockIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport style from './notification.css';\n\nconst NOTIFICATION_ICON = {\n addFavorite: CheckIcon,\n removeFavorite: MoreIcon,\n lock: LockIcon,\n unlock: UnlockIcon\n};\n\nconst handleOverlayClick = e => {\n e.stopPropagation();\n e.preventDefault();\n return false;\n};\n\nconst Notification = props => {\n const {message, icon} = props;\n\n const IconType = get(icon, NOTIFICATION_ICON);\n return (\n <div\n data-name=\"notification\"\n data-type={icon}\n onClick={handleOverlayClick}\n className={classnames(style.showOverlay, style.notificationWrapper)}\n >\n <div className={style.notification}>\n <IconType className={style.icon} color={null} stroke={null} />\n <div className={style.message}>\n <span role=\"status\">{message}</span>\n </div>\n </div>\n </div>\n );\n};\nNotification.propTypes = {\n message: PropTypes.string.isRequired,\n icon: PropTypes.oneOf(keys(NOTIFICATION_ICON)).isRequired\n};\n\nexport default Notification;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,6BAA6B,IAAIC,QADnC,EAEEC,oBAAoB,IAAIC,QAF1B,EAGEC,yBAAyB,IAAIC,UAH/B,EAIEC,gCAAgC,IAAIC,SAJtC,QAKO,0BALP;AAMA,OAAOC,KAAP,MAAkB,oBAAlB;AAEA,MAAMC,iBAAiB,GAAG;EACxBC,WAAW,EAAEH,SADW;EAExBI,cAAc,EAAEV,QAFQ;EAGxBW,IAAI,EAAET,QAHkB;EAIxBU,MAAM,EAAER;AAJgB,CAA1B;;AAOA,MAAMS,kBAAkB,GAAGC,CAAC,IAAI;EAC9BA,CAAC,CAACC,eAAF;EACAD,CAAC,CAACE,cAAF;EACA,OAAO,KAAP;AACD,CAJD;;AAMA,MAAMC,YAAY,GAAGC,KAAK,IAAI;EAC5B,MAAM;IAACC,OAAD;IAAUC;EAAV,IAAkBF,KAAxB;;EAEA,MAAMG,QAAQ,GAAG,KAAID,IAAJ,EAAUZ,iBAAV,CAAjB;;EACA,oBACE;IACE,aAAU,cADZ;IAEE,aAAWY,IAFb;IAGE,OAAO,EAAEP,kBAHX;IAIE,SAAS,EAAEf,UAAU,CAACS,KAAK,CAACe,WAAP,EAAoBf,KAAK,CAACgB,mBAA1B;EAJvB,gBAME;IAAK,SAAS,EAAEhB,KAAK,CAACiB;EAAtB,gBACE,oBAAC,QAAD;IAAU,SAAS,EAAEjB,KAAK,CAACa,IAA3B;IAAiC,KAAK,EAAE,IAAxC;IAA8C,MAAM,EAAE;EAAtD,EADF,eAEE;IAAK,SAAS,EAAEb,KAAK,CAACY;EAAtB,gBACE;IAAM,IAAI,EAAC;EAAX,GAAqBA,OAArB,CADF,CAFF,CANF,CADF;AAeD,CAnBD;;AAoBAF,YAAY,CAACQ,SAAb,2CAAyB;EACvBN,OAAO,EAAEtB,SAAS,CAAC6B,MAAV,CAAiBC,UADH;EAEvBP,IAAI,EAAEvB,SAAS,CAAC+B,KAAV,CAAgB,MAAKpB,iBAAL,CAAhB,EAAyCmB;AAFxB,CAAzB;AAKA,eAAeV,YAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters-wrapper.d.ts","sourceRoot":"","sources":["../../../src/molecule/filters/filters-wrapper.js"],"names":[],"mappings":";AAUA,
|
|
1
|
+
{"version":3,"file":"filters-wrapper.d.ts","sourceRoot":"","sources":["../../../src/molecule/filters/filters-wrapper.js"],"names":[],"mappings":";AAUA,sEA6DC"}
|
|
@@ -15,7 +15,8 @@ import style from './filters-wapper.css';
|
|
|
15
15
|
const FiltersWapper = (props, context) => {
|
|
16
16
|
const {
|
|
17
17
|
filters,
|
|
18
|
-
className
|
|
18
|
+
className,
|
|
19
|
+
filterGroupAriaLabel
|
|
19
20
|
} = props;
|
|
20
21
|
|
|
21
22
|
const buildFilter = (filter, idx) => {
|
|
@@ -80,9 +81,11 @@ const FiltersWapper = (props, context) => {
|
|
|
80
81
|
|
|
81
82
|
const emptyFilters = _isEmpty(filters);
|
|
82
83
|
|
|
83
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
84
|
-
className: classnames(className, emptyFilters ? style.wrapperNone : style.wrapper)
|
|
85
|
-
|
|
84
|
+
return /*#__PURE__*/React.createElement("form", null, /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
className: classnames(className, emptyFilters ? style.wrapperNone : style.wrapper),
|
|
86
|
+
role: "group",
|
|
87
|
+
"aria-label": filterGroupAriaLabel
|
|
88
|
+
}, filtersList));
|
|
86
89
|
};
|
|
87
90
|
|
|
88
91
|
FiltersWapper.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
@@ -90,7 +93,8 @@ FiltersWapper.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
90
93
|
filters: PropTypes.arrayOf(PropTypes.shape({
|
|
91
94
|
type: PropTypes.oneOf(['select', 'range', 'radio', 'switch']).isRequired,
|
|
92
95
|
fieldName: PropTypes.string.isRequired
|
|
93
|
-
}))
|
|
96
|
+
})),
|
|
97
|
+
filterGroupAriaLabel: PropTypes.string
|
|
94
98
|
} : {};
|
|
95
99
|
export default FiltersWapper;
|
|
96
100
|
//# sourceMappingURL=filters-wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters-wrapper.js","names":["React","PropTypes","classnames","Select","InputSwitch","RadioGroup","RangeSlider","style","FiltersWapper","props","context","filters","className","buildFilter","filter","idx","type","fieldName","choice","title","radioGroup","timerWrapper","timerSubtitle","subtitle","toggle","display","filtersList","convert","cap","emptyFilters","wrapperNone","wrapper","propTypes","string","arrayOf","shape","oneOf","isRequired"],"sources":["../../../src/molecule/filters/filters-wrapper.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty, map} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Select from '../../atom/select';\nimport InputSwitch from '../../atom/input-switch';\nimport RadioGroup from '../../atom/radio-group';\nimport RangeSlider from '../../atom/range';\nimport style from './filters-wapper.css';\n\nconst FiltersWapper = (props, context) => {\n const {filters, className} = props;\n\n const buildFilter = (filter, idx) => {\n const {type, fieldName} = filter;\n switch (type) {\n case 'select':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <Select {...filter} />\n </div>\n );\n case 'radio':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <p className={style.title}>{filter.title}</p>\n <RadioGroup {...filter} className={style.radioGroup} />\n </div>\n );\n case 'range':\n return (\n <div\n data-name=\"choice\"\n data-filter-type={fieldName}\n className={style.timerWrapper}\n key={idx}\n >\n <label>\n <span className={style.title}>{filter.title}</span>\n <p className={style.timerSubtitle}>{filter.subtitle}</p>\n <RangeSlider {...filter} />\n </label>\n </div>\n );\n case 'switch':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <p className={style.title}>{filter.title}</p>\n <div className={style.toggle}>\n <InputSwitch {...filter.display} />\n </div>\n </div>\n );\n default:\n return null;\n }\n };\n\n const filtersList = map.convert({cap: false})(buildFilter, filters);\n const emptyFilters = isEmpty(filters);\n return (\n <div
|
|
1
|
+
{"version":3,"file":"filters-wrapper.js","names":["React","PropTypes","classnames","Select","InputSwitch","RadioGroup","RangeSlider","style","FiltersWapper","props","context","filters","className","filterGroupAriaLabel","buildFilter","filter","idx","type","fieldName","choice","title","radioGroup","timerWrapper","timerSubtitle","subtitle","toggle","display","filtersList","convert","cap","emptyFilters","wrapperNone","wrapper","propTypes","string","arrayOf","shape","oneOf","isRequired"],"sources":["../../../src/molecule/filters/filters-wrapper.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty, map} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Select from '../../atom/select';\nimport InputSwitch from '../../atom/input-switch';\nimport RadioGroup from '../../atom/radio-group';\nimport RangeSlider from '../../atom/range';\nimport style from './filters-wapper.css';\n\nconst FiltersWapper = (props, context) => {\n const {filters, className, filterGroupAriaLabel} = props;\n\n const buildFilter = (filter, idx) => {\n const {type, fieldName} = filter;\n switch (type) {\n case 'select':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <Select {...filter} />\n </div>\n );\n case 'radio':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <p className={style.title}>{filter.title}</p>\n <RadioGroup {...filter} className={style.radioGroup} />\n </div>\n );\n case 'range':\n return (\n <div\n data-name=\"choice\"\n data-filter-type={fieldName}\n className={style.timerWrapper}\n key={idx}\n >\n <label>\n <span className={style.title}>{filter.title}</span>\n <p className={style.timerSubtitle}>{filter.subtitle}</p>\n <RangeSlider {...filter} />\n </label>\n </div>\n );\n case 'switch':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <p className={style.title}>{filter.title}</p>\n <div className={style.toggle}>\n <InputSwitch {...filter.display} />\n </div>\n </div>\n );\n default:\n return null;\n }\n };\n\n const filtersList = map.convert({cap: false})(buildFilter, filters);\n const emptyFilters = isEmpty(filters);\n return (\n <form>\n <div\n className={classnames(className, emptyFilters ? style.wrapperNone : style.wrapper)}\n role=\"group\"\n aria-label={filterGroupAriaLabel}\n >\n {filtersList}\n </div>\n </form>\n );\n};\n\nFiltersWapper.propTypes = {\n className: PropTypes.string,\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf(['select', 'range', 'radio', 'switch']).isRequired,\n fieldName: PropTypes.string.isRequired\n })\n ),\n filterGroupAriaLabel: PropTypes.string\n};\nexport default FiltersWapper;\n"],"mappings":"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"}
|
|
@@ -37,6 +37,7 @@ declare class Filters extends React.Component<any, any, any> {
|
|
|
37
37
|
onToggleSorts: PropTypes.Requireable<(...args: any[]) => any>;
|
|
38
38
|
moreSortAriaLabel: PropTypes.Requireable<string>;
|
|
39
39
|
moreFilterAriaLabel: PropTypes.Requireable<string>;
|
|
40
|
+
filterGroupAriaLabel: PropTypes.Requireable<string>;
|
|
40
41
|
};
|
|
41
42
|
static contextTypes: {
|
|
42
43
|
skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/filters/index.js"],"names":[],"mappings":";AASA;IACE
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/filters/index.js"],"names":[],"mappings":";AASA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAeE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF,wBASC;IAPC;;;MAGC;IAMH,yBAcC;IAED,uBAYC;IAED,qBAOC;IAED,sBA2FC;CACF"}
|
|
@@ -72,7 +72,8 @@ class Filters extends React.Component {
|
|
|
72
72
|
sortTabLabel,
|
|
73
73
|
filters,
|
|
74
74
|
moreFilterAriaLabel,
|
|
75
|
-
moreSortAriaLabel
|
|
75
|
+
moreSortAriaLabel,
|
|
76
|
+
filterGroupAriaLabel
|
|
76
77
|
} = this.props;
|
|
77
78
|
const {
|
|
78
79
|
filter,
|
|
@@ -128,7 +129,8 @@ class Filters extends React.Component {
|
|
|
128
129
|
className: filtersActive ? style.activeWrapperFilters : style.wrapperFilters
|
|
129
130
|
}, /*#__PURE__*/React.createElement(FiltersWrapper, {
|
|
130
131
|
className: style.wrapper,
|
|
131
|
-
filters: filters
|
|
132
|
+
filters: filters,
|
|
133
|
+
filterGroupAriaLabel: filterGroupAriaLabel
|
|
132
134
|
}), /*#__PURE__*/React.createElement("div", {
|
|
133
135
|
"data-name": "cta",
|
|
134
136
|
className: style.CTAfilter,
|
|
@@ -167,7 +169,8 @@ Filters.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
167
169
|
onToggleFilters: PropTypes.func,
|
|
168
170
|
onToggleSorts: PropTypes.func,
|
|
169
171
|
moreSortAriaLabel: PropTypes.string,
|
|
170
|
-
moreFilterAriaLabel: PropTypes.string
|
|
172
|
+
moreFilterAriaLabel: PropTypes.string,
|
|
173
|
+
filterGroupAriaLabel: PropTypes.string
|
|
171
174
|
} : {};
|
|
172
175
|
export default Filters;
|
|
173
176
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowDown","ArrowDown","Select","Provider","style","FiltersWrapper","Filters","Component","constructor","props","state","filter","openFilters","sorted","openSorts","handleOpenFilter","bind","handleOpenSort","handleSearch","onToggleFilters","newValue","setState","onToggleSorts","onSearch","render","sorting","filterCTALabel","filterTabLabel","sortCTALabel","sortTabLabel","filters","moreFilterAriaLabel","moreSortAriaLabel","skin","context","defaultColor","darkColor","filtersActive","sortingActive","sortView","undefined","select","search","activeDefault","default","title","arrow","activeWrapperSortBy","wrapperSortBy","activeWrapperFilters","wrapperFilters","wrapper","CTAfilter","backgroundColor","activeSorting","contextTypes","childContextTypes","propTypes","string","bool","shape","func"],"sources":["../../../src/molecule/filters/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Select from '../../atom/select';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\nimport FiltersWrapper from './filters-wrapper';\n\nclass Filters extends React.Component {\n static propTypes = {\n filterCTALabel: PropTypes.string,\n filterTabLabel: PropTypes.string,\n sortCTALabel: PropTypes.string,\n sortTabLabel: PropTypes.string,\n openFilters: PropTypes.bool,\n openSorts: PropTypes.bool,\n filters: FiltersWrapper.propTypes.filters,\n sorting: PropTypes.shape(Select.propTypes),\n onSearch: PropTypes.func,\n onToggleFilters: PropTypes.func,\n onToggleSorts: PropTypes.func,\n moreSortAriaLabel: PropTypes.string,\n moreFilterAriaLabel: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n filter: !!props.openFilters,\n sorted: !!props.openSorts\n };\n this.handleOpenFilter = this.handleOpenFilter.bind(this);\n this.handleOpenSort = this.handleOpenSort.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n }\n\n handleOpenFilter() {\n const {filter} = this.state;\n const {onToggleFilters} = this.props;\n\n const newValue = !filter;\n\n this.setState({\n filter: newValue,\n sorted: false\n });\n\n if (onToggleFilters) {\n onToggleFilters(newValue);\n }\n }\n\n handleOpenSort() {\n const {sorted} = this.state;\n const {onToggleSorts} = this.props;\n\n const newValue = !sorted;\n\n this.setState({\n sorted: newValue,\n filter: false\n });\n\n if (onToggleSorts) onToggleSorts(newValue);\n }\n\n handleSearch() {\n const {onSearch} = this.props;\n this.setState({\n sorted: false,\n filter: false\n });\n if (onSearch) onSearch();\n }\n\n render() {\n const {\n sorting,\n filterCTALabel,\n filterTabLabel,\n sortCTALabel,\n sortTabLabel,\n filters,\n moreFilterAriaLabel,\n moreSortAriaLabel\n } = this.props;\n const {filter, sorted} = this.state;\n const {skin} = this.context;\n\n const defaultColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const filtersActive = filter === true;\n const sortingActive = sorted === true;\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\" className={style.select}>\n <Select {...sorting} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"search\" className={style.search}>\n <div\n data-name=\"filter\"\n data-open={filtersActive}\n className={filtersActive ? style.activeDefault : style.default}\n >\n <div className={style.title} data-name=\"filterButton\" onClick={this.handleOpenFilter}>\n {filterTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreFilterAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"sortBy\"\n data-open={sortingActive}\n className={sortingActive ? style.activeWrapperSortBy : style.wrapperSortBy}\n >\n <div className={style.title} data-name=\"sortButton\" onClick={this.handleOpenSort}>\n {sortTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreSortAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"filterWrapper\"\n className={filtersActive ? style.activeWrapperFilters : style.wrapperFilters}\n >\n <FiltersWrapper
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowDown","ArrowDown","Select","Provider","style","FiltersWrapper","Filters","Component","constructor","props","state","filter","openFilters","sorted","openSorts","handleOpenFilter","bind","handleOpenSort","handleSearch","onToggleFilters","newValue","setState","onToggleSorts","onSearch","render","sorting","filterCTALabel","filterTabLabel","sortCTALabel","sortTabLabel","filters","moreFilterAriaLabel","moreSortAriaLabel","filterGroupAriaLabel","skin","context","defaultColor","darkColor","filtersActive","sortingActive","sortView","undefined","select","search","activeDefault","default","title","arrow","activeWrapperSortBy","wrapperSortBy","activeWrapperFilters","wrapperFilters","wrapper","CTAfilter","backgroundColor","activeSorting","contextTypes","childContextTypes","propTypes","string","bool","shape","func"],"sources":["../../../src/molecule/filters/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Select from '../../atom/select';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\nimport FiltersWrapper from './filters-wrapper';\n\nclass Filters extends React.Component {\n static propTypes = {\n filterCTALabel: PropTypes.string,\n filterTabLabel: PropTypes.string,\n sortCTALabel: PropTypes.string,\n sortTabLabel: PropTypes.string,\n openFilters: PropTypes.bool,\n openSorts: PropTypes.bool,\n filters: FiltersWrapper.propTypes.filters,\n sorting: PropTypes.shape(Select.propTypes),\n onSearch: PropTypes.func,\n onToggleFilters: PropTypes.func,\n onToggleSorts: PropTypes.func,\n moreSortAriaLabel: PropTypes.string,\n moreFilterAriaLabel: PropTypes.string,\n filterGroupAriaLabel: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n filter: !!props.openFilters,\n sorted: !!props.openSorts\n };\n this.handleOpenFilter = this.handleOpenFilter.bind(this);\n this.handleOpenSort = this.handleOpenSort.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n }\n\n handleOpenFilter() {\n const {filter} = this.state;\n const {onToggleFilters} = this.props;\n\n const newValue = !filter;\n\n this.setState({\n filter: newValue,\n sorted: false\n });\n\n if (onToggleFilters) {\n onToggleFilters(newValue);\n }\n }\n\n handleOpenSort() {\n const {sorted} = this.state;\n const {onToggleSorts} = this.props;\n\n const newValue = !sorted;\n\n this.setState({\n sorted: newValue,\n filter: false\n });\n\n if (onToggleSorts) onToggleSorts(newValue);\n }\n\n handleSearch() {\n const {onSearch} = this.props;\n this.setState({\n sorted: false,\n filter: false\n });\n if (onSearch) onSearch();\n }\n\n render() {\n const {\n sorting,\n filterCTALabel,\n filterTabLabel,\n sortCTALabel,\n sortTabLabel,\n filters,\n moreFilterAriaLabel,\n moreSortAriaLabel,\n filterGroupAriaLabel\n } = this.props;\n const {filter, sorted} = this.state;\n const {skin} = this.context;\n\n const defaultColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const filtersActive = filter === true;\n const sortingActive = sorted === true;\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\" className={style.select}>\n <Select {...sorting} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"search\" className={style.search}>\n <div\n data-name=\"filter\"\n data-open={filtersActive}\n className={filtersActive ? style.activeDefault : style.default}\n >\n <div className={style.title} data-name=\"filterButton\" onClick={this.handleOpenFilter}>\n {filterTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreFilterAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"sortBy\"\n data-open={sortingActive}\n className={sortingActive ? style.activeWrapperSortBy : style.wrapperSortBy}\n >\n <div className={style.title} data-name=\"sortButton\" onClick={this.handleOpenSort}>\n {sortTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreSortAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"filterWrapper\"\n className={filtersActive ? style.activeWrapperFilters : style.wrapperFilters}\n >\n <FiltersWrapper\n className={style.wrapper}\n filters={filters}\n filterGroupAriaLabel={filterGroupAriaLabel}\n />\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {filterCTALabel}\n </div>\n </div>\n <div\n data-name=\"sortWrapper\"\n className={sortingActive ? style.activeSorting : style.sorting}\n >\n {sortView}\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {sortCTALabel}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default Filters;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/forum/forum-post/index.js"],"names":[],"mappings":";AAUA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/forum/forum-post/index.js"],"names":[],"mappings":";AAUA,kEAkJC"}
|
|
@@ -113,7 +113,8 @@ const ForumPost = (props, context) => {
|
|
|
113
113
|
display: rejectable ? 'block' : 'none'
|
|
114
114
|
}
|
|
115
115
|
}, rejected ? putBackLabel : rejectLabel), /*#__PURE__*/React.createElement("div", {
|
|
116
|
-
className: messageClassName
|
|
116
|
+
className: messageClassName,
|
|
117
|
+
role: "status"
|
|
117
118
|
}, deleted ? infoDeleted : message), /*#__PURE__*/React.createElement("div", {
|
|
118
119
|
className: `${style.edition} ${showEditBox ? style.visible : ''}`
|
|
119
120
|
}, /*#__PURE__*/React.createElement(ForumComment, {
|
|
@@ -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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"}
|
|
@@ -9,7 +9,8 @@ const DropDown = props => {
|
|
|
9
9
|
options,
|
|
10
10
|
onChange,
|
|
11
11
|
theme: propsTheme,
|
|
12
|
-
'aria-label': ariaLabel
|
|
12
|
+
'aria-label': ariaLabel,
|
|
13
|
+
groupAriaLabel
|
|
13
14
|
} = props;
|
|
14
15
|
|
|
15
16
|
const currentSelection = _find('selected', options);
|
|
@@ -17,7 +18,9 @@ const DropDown = props => {
|
|
|
17
18
|
const defaultTheme = !currentSelection || currentSelection.validOption === false ? 'invalid' : 'question';
|
|
18
19
|
const theme = propsTheme || defaultTheme;
|
|
19
20
|
return /*#__PURE__*/React.createElement("div", {
|
|
20
|
-
className: style.wrapper
|
|
21
|
+
className: style.wrapper,
|
|
22
|
+
role: "group",
|
|
23
|
+
"aria-label": groupAriaLabel
|
|
21
24
|
}, /*#__PURE__*/React.createElement(Select, {
|
|
22
25
|
"aria-label": ariaLabel,
|
|
23
26
|
theme: theme,
|
|
@@ -30,7 +33,8 @@ DropDown.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
30
33
|
onChange: Select.propTypes.onChange,
|
|
31
34
|
options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),
|
|
32
35
|
theme: Select.propTypes.theme,
|
|
33
|
-
'aria-label': PropTypes.string
|
|
36
|
+
'aria-label': PropTypes.string,
|
|
37
|
+
groupAriaLabel: PropTypes.string
|
|
34
38
|
} : {};
|
|
35
39
|
export default DropDown;
|
|
36
40
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","Select","SelectOptionPropTypes","style","DropDown","props","options","onChange","theme","propsTheme","ariaLabel","currentSelection","defaultTheme","validOption","wrapper","propTypes","arrayOf","shape","string"],"sources":["../../../../src/molecule/questions/drop-down/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {find} from 'lodash/fp';\nimport Select, {SelectOptionPropTypes} from '../../../atom/select';\nimport style from './style.css';\n\nconst DropDown = props => {\n const {options, onChange, theme: propsTheme, 'aria-label': ariaLabel} = props;\n\n const currentSelection = find('selected', options);\n const defaultTheme =\n !currentSelection || currentSelection.validOption === false ? 'invalid' : 'question';\n\n const theme = propsTheme || defaultTheme;\n\n return (\n <div className={style.wrapper}>\n <Select aria-label={ariaLabel} theme={theme} options={options} onChange={onChange} />\n </div>\n );\n};\n\nDropDown.propTypes = {\n onChange: Select.propTypes.onChange,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n theme: Select.propTypes.theme,\n 'aria-label': PropTypes.string\n};\n\nexport default DropDown;\n"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,MAAP,IAAgBC,qBAAhB,QAA4C,sBAA5C;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,QAAQ,GAAGC,KAAK,IAAI;EACxB,MAAM;IAACC,OAAD;IAAUC,QAAV;IAAoBC,KAAK,EAAEC,UAA3B;IAAuC,cAAcC;
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","Select","SelectOptionPropTypes","style","DropDown","props","options","onChange","theme","propsTheme","ariaLabel","groupAriaLabel","currentSelection","defaultTheme","validOption","wrapper","propTypes","arrayOf","shape","string"],"sources":["../../../../src/molecule/questions/drop-down/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {find} from 'lodash/fp';\nimport Select, {SelectOptionPropTypes} from '../../../atom/select';\nimport style from './style.css';\n\nconst DropDown = props => {\n const {options, onChange, theme: propsTheme, 'aria-label': ariaLabel, groupAriaLabel} = props;\n\n const currentSelection = find('selected', options);\n const defaultTheme =\n !currentSelection || currentSelection.validOption === false ? 'invalid' : 'question';\n\n const theme = propsTheme || defaultTheme;\n\n return (\n <div className={style.wrapper} role=\"group\" aria-label={groupAriaLabel}>\n <Select aria-label={ariaLabel} theme={theme} options={options} onChange={onChange} />\n </div>\n );\n};\n\nDropDown.propTypes = {\n onChange: Select.propTypes.onChange,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n theme: Select.propTypes.theme,\n 'aria-label': PropTypes.string,\n groupAriaLabel: PropTypes.string\n};\n\nexport default DropDown;\n"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,MAAP,IAAgBC,qBAAhB,QAA4C,sBAA5C;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,QAAQ,GAAGC,KAAK,IAAI;EACxB,MAAM;IAACC,OAAD;IAAUC,QAAV;IAAoBC,KAAK,EAAEC,UAA3B;IAAuC,cAAcC,SAArD;IAAgEC;EAAhE,IAAkFN,KAAxF;;EAEA,MAAMO,gBAAgB,GAAG,MAAK,UAAL,EAAiBN,OAAjB,CAAzB;;EACA,MAAMO,YAAY,GAChB,CAACD,gBAAD,IAAqBA,gBAAgB,CAACE,WAAjB,KAAiC,KAAtD,GAA8D,SAA9D,GAA0E,UAD5E;EAGA,MAAMN,KAAK,GAAGC,UAAU,IAAII,YAA5B;EAEA,oBACE;IAAK,SAAS,EAAEV,KAAK,CAACY,OAAtB;IAA+B,IAAI,EAAC,OAApC;IAA4C,cAAYJ;EAAxD,gBACE,oBAAC,MAAD;IAAQ,cAAYD,SAApB;IAA+B,KAAK,EAAEF,KAAtC;IAA6C,OAAO,EAAEF,OAAtD;IAA+D,QAAQ,EAAEC;EAAzE,EADF,CADF;AAKD,CAdD;;AAgBAH,QAAQ,CAACY,SAAT,2CAAqB;EACnBT,QAAQ,EAAEN,MAAM,CAACe,SAAP,CAAiBT,QADR;EAEnBD,OAAO,EAAEN,SAAS,CAACiB,OAAV,CAAkBjB,SAAS,CAACkB,KAAV,CAAgBhB,qBAAhB,CAAlB,CAFU;EAGnBM,KAAK,EAAEP,MAAM,CAACe,SAAP,CAAiBR,KAHL;EAInB,cAAcR,SAAS,CAACmB,MAJL;EAKnBR,cAAc,EAAEX,SAAS,CAACmB;AALP,CAArB;AAQA,eAAef,QAAf"}
|
|
@@ -31,6 +31,7 @@ declare namespace QCM {
|
|
|
31
31
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
32
32
|
'aria-label': PropTypes.Requireable<string>;
|
|
33
33
|
}> | null | undefined)[]>;
|
|
34
|
+
const groupAriaLabel: PropTypes.Requireable<string>;
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
import PropTypes from "prop-types";
|
|
@@ -11,7 +11,8 @@ import style from './style.css';
|
|
|
11
11
|
|
|
12
12
|
const QCM = (props, legacyContext) => {
|
|
13
13
|
const {
|
|
14
|
-
answers
|
|
14
|
+
answers,
|
|
15
|
+
groupAriaLabel
|
|
15
16
|
} = props;
|
|
16
17
|
const longestAnswer = maxBy(({
|
|
17
18
|
title
|
|
@@ -56,7 +57,9 @@ const QCM = (props, legacyContext) => {
|
|
|
56
57
|
}), [answers, longestAnswer, primarySkinColor]);
|
|
57
58
|
return /*#__PURE__*/React.createElement("div", {
|
|
58
59
|
"data-name": "qcm",
|
|
59
|
-
className: style.wrapper
|
|
60
|
+
className: style.wrapper,
|
|
61
|
+
role: "group",
|
|
62
|
+
"aria-label": groupAriaLabel
|
|
60
63
|
}, answersViews);
|
|
61
64
|
};
|
|
62
65
|
|
|
@@ -69,7 +72,8 @@ QCM.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
69
72
|
selected: PropTypes.bool,
|
|
70
73
|
onClick: PropTypes.func,
|
|
71
74
|
'aria-label': PropTypes.string
|
|
72
|
-
}))
|
|
75
|
+
})),
|
|
76
|
+
groupAriaLabel: PropTypes.string
|
|
73
77
|
} : {};
|
|
74
78
|
export default QCM;
|
|
75
79
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useMemo","classnames","PropTypes","getOr","maxBy","Provider","GetSkinFromContext","getShadowBoxColorFromPrimary","style","QCM","props","legacyContext","answers","longestAnswer","title","length","skin","primarySkinColor","answersViews","map","answer","key","onClick","selected","ariaLabel","longAnswerClass","selectedAnswerClass","selectedAnswer","unselectedAnswer","innerHTML","boxShadow","backgroundColor","background","answerText","__html","wrapper","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport maxBy from 'lodash/fp/maxBy';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCM = (props, legacyContext) => {\n const {answers} = props;\n const longestAnswer = maxBy(({title}) => title.length, answers);\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = useMemo(\n () =>\n answers.map((answer, key) => {\n const {onClick, title, selected, 'aria-label': ariaLabel} = answer;\n const longAnswerClass = longestAnswer.title === title ? style.longestAnswer : style.answer;\n const selectedAnswerClass = selected ? style.selectedAnswer : style.unselectedAnswer;\n\n return (\n <div\n data-name=\"answer\"\n aria-label={ariaLabel || title}\n className={classnames(longAnswerClass, style.innerHTML, selectedAnswerClass)}\n onClick={onClick}\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n data-selected={selected}\n key={key}\n >\n <div\n data-name=\"answer-background\"\n style={{backgroundColor: selected ? primarySkinColor : '#F4F4F5' /* cm_grey_75 */}}\n className={style.background}\n />\n <span\n data-name=\"answer-label\"\n className={style.answerText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n );\n }),\n [answers, longestAnswer, primarySkinColor]\n );\n\n return (\n <div data-name=\"qcm\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCM.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCM.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n )\n};\n\nexport default QCM;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,QAAP,IAAkBC,kBAAlB,QAA2C,wBAA3C;AACA,SAAQC,4BAAR,QAA2C,iDAA3C;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,GAAG,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACpC,MAAM;IAACC;
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useMemo","classnames","PropTypes","getOr","maxBy","Provider","GetSkinFromContext","getShadowBoxColorFromPrimary","style","QCM","props","legacyContext","answers","groupAriaLabel","longestAnswer","title","length","skin","primarySkinColor","answersViews","map","answer","key","onClick","selected","ariaLabel","longAnswerClass","selectedAnswerClass","selectedAnswer","unselectedAnswer","innerHTML","boxShadow","backgroundColor","background","answerText","__html","wrapper","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport maxBy from 'lodash/fp/maxBy';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCM = (props, legacyContext) => {\n const {answers, groupAriaLabel} = props;\n const longestAnswer = maxBy(({title}) => title.length, answers);\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = useMemo(\n () =>\n answers.map((answer, key) => {\n const {onClick, title, selected, 'aria-label': ariaLabel} = answer;\n const longAnswerClass = longestAnswer.title === title ? style.longestAnswer : style.answer;\n const selectedAnswerClass = selected ? style.selectedAnswer : style.unselectedAnswer;\n\n return (\n <div\n data-name=\"answer\"\n aria-label={ariaLabel || title}\n className={classnames(longAnswerClass, style.innerHTML, selectedAnswerClass)}\n onClick={onClick}\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n data-selected={selected}\n key={key}\n >\n <div\n data-name=\"answer-background\"\n style={{backgroundColor: selected ? primarySkinColor : '#F4F4F5' /* cm_grey_75 */}}\n className={style.background}\n />\n <span\n data-name=\"answer-label\"\n className={style.answerText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n );\n }),\n [answers, longestAnswer, primarySkinColor]\n );\n\n return (\n <div data-name=\"qcm\" className={style.wrapper} role=\"group\" aria-label={groupAriaLabel}>\n {answersViews}\n </div>\n );\n};\n\nQCM.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCM.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n ),\n groupAriaLabel: PropTypes.string\n};\n\nexport default QCM;\n"],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
export default QcmDrag;
|
|
2
|
-
declare function QcmDrag({ answers, help }: {
|
|
2
|
+
declare function QcmDrag({ answers, help, groupAriaLabel }: {
|
|
3
3
|
answers: any;
|
|
4
4
|
help: any;
|
|
5
|
+
groupAriaLabel: any;
|
|
5
6
|
}, legacyContext: any): JSX.Element;
|
|
6
7
|
declare namespace QcmDrag {
|
|
7
8
|
namespace propTypes {
|
|
8
9
|
export { AnswersPropTypes as answers };
|
|
9
10
|
import help = help;
|
|
10
11
|
export { help };
|
|
12
|
+
export const groupAriaLabel: PropTypes.Requireable<string>;
|
|
11
13
|
}
|
|
12
14
|
namespace contextTypes {
|
|
13
15
|
const skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":[],"mappings":";AAkGA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":[],"mappings":";AAkGA;;;;oCAYC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAtGD;;;;;;0BAQE;AA8BF;;;;gBA4CC;;;;;;;;;;;AAxED;;gBAA6E"}
|