@coorpacademy/components 10.1.7 → 10.1.11
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/atom/button-link/index.js +2 -22
- package/es/atom/button-link/index.js.map +1 -1
- package/es/atom/button-link/style.css +0 -1
- package/es/atom/button-link/test/fixtures.js +0 -4
- package/es/atom/button-link/test/fixtures.js.map +1 -1
- package/es/atom/button-link-icon-only/index.js +76 -0
- package/es/atom/button-link-icon-only/index.js.map +1 -0
- package/es/atom/button-link-icon-only/style.css +64 -0
- package/es/atom/{button-link/test/button-link.js → button-link-icon-only/test/button-link-icon-only.js} +5 -5
- package/es/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -0
- package/es/atom/button-link-icon-only/test/fixtures/button-icon-bullet.js +10 -0
- package/es/atom/button-link-icon-only/test/fixtures/button-icon-bullet.js.map +1 -0
- package/es/atom/{button-link/test/fixtures/icon-button.js → button-link-icon-only/test/fixtures/default.js} +3 -6
- package/es/atom/button-link-icon-only/test/fixtures/default.js.map +1 -0
- package/es/atom/button-link-icon-only/test/fixtures/no-icon.js +7 -0
- package/es/atom/button-link-icon-only/test/fixtures/no-icon.js.map +1 -0
- package/es/atom/button-link-icon-only/test/fixtures/small-button-disabled.js +11 -0
- package/es/atom/button-link-icon-only/test/fixtures/small-button-disabled.js.map +1 -0
- package/es/atom/button-link-icon-only/test/fixtures/small-link-download.js +13 -0
- package/es/atom/button-link-icon-only/test/fixtures/small-link-download.js.map +1 -0
- package/es/atom/button-link-icon-only/test/fixtures.js +21 -0
- package/es/atom/button-link-icon-only/test/fixtures.js.map +1 -0
- package/es/atom/empty-search-result/index.js +24 -0
- package/es/atom/empty-search-result/index.js.map +1 -0
- package/es/atom/empty-search-result/style.css +25 -0
- package/es/atom/empty-search-result/test/fixtures/default.js +7 -0
- package/es/atom/empty-search-result/test/fixtures/default.js.map +1 -0
- package/es/atom/empty-search-result/test/fixtures.js +13 -0
- package/es/atom/empty-search-result/test/fixtures.js.map +1 -0
- package/es/atom/input-text/index.js +3 -2
- package/es/atom/input-text/index.js.map +1 -1
- package/es/atom/tag/index.js +3 -2
- package/es/atom/tag/index.js.map +1 -1
- package/es/atom/tag/style.css +5 -1
- package/es/atom/tag/test/fixtures/draft.js +7 -0
- package/es/atom/tag/test/fixtures/draft.js.map +1 -0
- package/es/atom/tag/test/fixtures/{revision.js → revised.js} +2 -2
- package/es/atom/tag/test/fixtures/revised.js.map +1 -0
- package/es/molecule/bullet-point-menu-button/index.js +4 -7
- package/es/molecule/bullet-point-menu-button/index.js.map +1 -1
- package/es/molecule/cm-popin/index.js +8 -7
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/cm-popin/style.css +0 -25
- package/es/molecule/search/test/fixtures.js +15 -0
- package/es/molecule/search/test/fixtures.js.map +1 -0
- package/es/molecule/vertical-tabs/style.css +2 -2
- package/es/organism/course-selection/index.js +57 -0
- package/es/organism/course-selection/index.js.map +1 -0
- package/es/organism/course-selection/style.css +23 -0
- package/es/organism/course-selection/test/fixtures/default.js +34 -0
- package/es/organism/course-selection/test/fixtures/default.js.map +1 -0
- package/es/organism/course-selection/test/fixtures/empty.js +18 -0
- package/es/organism/course-selection/test/fixtures/empty.js.map +1 -0
- package/es/organism/course-selection/test/fixtures/filtered.js +24 -0
- package/es/organism/course-selection/test/fixtures/filtered.js.map +1 -0
- package/es/organism/course-selection/test/fixtures/sorted-selected.js +31 -0
- package/es/organism/course-selection/test/fixtures/sorted-selected.js.map +1 -0
- package/es/organism/course-selection/test/fixtures/unsorted-selected.js +31 -0
- package/es/organism/course-selection/test/fixtures/unsorted-selected.js.map +1 -0
- package/es/organism/course-selection/test/fixtures.js +21 -0
- package/es/organism/course-selection/test/fixtures.js.map +1 -0
- package/es/organism/playlist-translation/style.css +9 -2
- package/es/organism/playlist-translation/test/fixtures.js +15 -0
- package/es/organism/playlist-translation/test/fixtures.js.map +1 -0
- package/es/organism/search-and-chips-results/index.js +3 -8
- package/es/organism/search-and-chips-results/index.js.map +1 -1
- package/es/organism/search-and-chips-results/style.css +0 -22
- package/es/organism/setup-header/index.js +78 -31
- package/es/organism/setup-header/index.js.map +1 -1
- package/es/organism/setup-header/style.css +27 -62
- package/es/util/button-icons.js +16 -0
- package/es/util/button-icons.js.map +1 -0
- package/lib/atom/button-link/index.js +5 -26
- package/lib/atom/button-link/index.js.map +1 -1
- package/lib/atom/button-link/style.css +0 -1
- package/lib/atom/button-link/test/fixtures.js +0 -6
- package/lib/atom/button-link/test/fixtures.js.map +1 -1
- package/lib/atom/button-link-icon-only/index.js +94 -0
- package/lib/atom/button-link-icon-only/index.js.map +1 -0
- package/lib/atom/button-link-icon-only/style.css +64 -0
- package/lib/atom/{button-link/test/button-link.js → button-link-icon-only/test/button-link-icon-only.js} +4 -4
- package/lib/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -0
- package/lib/atom/{button-link/test/fixtures/button-tertiary-icon-bullet.js → button-link-icon-only/test/fixtures/button-icon-bullet.js} +3 -6
- package/lib/atom/button-link-icon-only/test/fixtures/button-icon-bullet.js.map +1 -0
- package/lib/atom/{button-link/test/fixtures/icon-button.js → button-link-icon-only/test/fixtures/default.js} +3 -6
- package/lib/atom/button-link-icon-only/test/fixtures/default.js.map +1 -0
- package/lib/atom/button-link-icon-only/test/fixtures/no-icon.js +12 -0
- package/lib/atom/button-link-icon-only/test/fixtures/no-icon.js.map +1 -0
- package/lib/atom/button-link-icon-only/test/fixtures/small-button-disabled.js +16 -0
- package/lib/atom/button-link-icon-only/test/fixtures/small-button-disabled.js.map +1 -0
- package/lib/atom/button-link-icon-only/test/fixtures/small-link-download.js +18 -0
- package/lib/atom/button-link-icon-only/test/fixtures/small-link-download.js.map +1 -0
- package/lib/atom/button-link-icon-only/test/fixtures.js +34 -0
- package/lib/atom/button-link-icon-only/test/fixtures.js.map +1 -0
- package/lib/atom/empty-search-result/index.js +34 -0
- package/lib/atom/empty-search-result/index.js.map +1 -0
- package/lib/atom/empty-search-result/style.css +25 -0
- package/lib/atom/empty-search-result/test/fixtures/default.js +12 -0
- package/lib/atom/empty-search-result/test/fixtures/default.js.map +1 -0
- package/lib/atom/empty-search-result/test/fixtures.js +22 -0
- package/lib/atom/empty-search-result/test/fixtures.js.map +1 -0
- package/lib/atom/input-text/index.js +3 -2
- package/lib/atom/input-text/index.js.map +1 -1
- package/lib/atom/tag/index.js +3 -2
- package/lib/atom/tag/index.js.map +1 -1
- package/lib/atom/tag/style.css +5 -1
- package/lib/atom/tag/test/fixtures/draft.js +12 -0
- package/lib/atom/tag/test/fixtures/draft.js.map +1 -0
- package/lib/atom/tag/test/fixtures/{revision.js → revised.js} +2 -2
- package/lib/atom/tag/test/fixtures/revised.js.map +1 -0
- package/lib/molecule/bullet-point-menu-button/index.js +4 -7
- package/lib/molecule/bullet-point-menu-button/index.js.map +1 -1
- package/lib/molecule/cm-popin/index.js +8 -6
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/cm-popin/style.css +0 -25
- package/lib/molecule/search/test/fixtures.js +25 -0
- package/lib/molecule/search/test/fixtures.js.map +1 -0
- package/lib/molecule/vertical-tabs/style.css +2 -2
- package/lib/organism/course-selection/index.js +70 -0
- package/lib/organism/course-selection/index.js.map +1 -0
- package/lib/organism/course-selection/style.css +23 -0
- package/lib/organism/course-selection/test/fixtures/default.js +47 -0
- package/lib/organism/course-selection/test/fixtures/default.js.map +1 -0
- package/lib/organism/course-selection/test/fixtures/empty.js +23 -0
- package/lib/organism/course-selection/test/fixtures/empty.js.map +1 -0
- package/lib/organism/course-selection/test/fixtures/filtered.js +36 -0
- package/lib/organism/course-selection/test/fixtures/filtered.js.map +1 -0
- package/lib/organism/course-selection/test/fixtures/sorted-selected.js +44 -0
- package/lib/organism/course-selection/test/fixtures/sorted-selected.js.map +1 -0
- package/lib/organism/course-selection/test/fixtures/unsorted-selected.js +44 -0
- package/lib/organism/course-selection/test/fixtures/unsorted-selected.js.map +1 -0
- package/lib/organism/course-selection/test/fixtures.js +34 -0
- package/lib/organism/course-selection/test/fixtures.js.map +1 -0
- package/lib/organism/playlist-translation/style.css +9 -2
- package/lib/organism/playlist-translation/test/fixtures.js +25 -0
- package/lib/organism/playlist-translation/test/fixtures.js.map +1 -0
- package/lib/organism/search-and-chips-results/index.js +4 -8
- package/lib/organism/search-and-chips-results/index.js.map +1 -1
- package/lib/organism/search-and-chips-results/style.css +0 -22
- package/lib/organism/setup-header/index.js +80 -32
- package/lib/organism/setup-header/index.js.map +1 -1
- package/lib/organism/setup-header/style.css +27 -62
- package/lib/util/button-icons.js +23 -0
- package/lib/util/button-icons.js.map +1 -0
- package/package.json +2 -2
- package/es/atom/button-link/test/button-link.js.map +0 -1
- package/es/atom/button-link/test/fixtures/button-tertiary-icon-bullet.js +0 -13
- package/es/atom/button-link/test/fixtures/button-tertiary-icon-bullet.js.map +0 -1
- package/es/atom/button-link/test/fixtures/icon-button.js.map +0 -1
- package/es/atom/tag/test/fixtures/revision.js.map +0 -1
- package/lib/atom/button-link/test/button-link.js.map +0 -1
- package/lib/atom/button-link/test/fixtures/button-tertiary-icon-bullet.js.map +0 -1
- package/lib/atom/button-link/test/fixtures/icon-button.js.map +0 -1
- package/lib/atom/tag/test/fixtures/revision.js.map +0 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import forEach from 'lodash/forEach';
|
|
3
|
+
import renderComponentMacro from '../../../test/helpers/render-component';
|
|
4
|
+
import OrganismPlaylistTranslation from '..';
|
|
5
|
+
import fixtureDefault from './fixtures/default';
|
|
6
|
+
import fixtureDelete from './fixtures/delete';
|
|
7
|
+
test('Organism › OrganismPlaylistTranslation > should have valid propTypes', t => {
|
|
8
|
+
t.pass();
|
|
9
|
+
forEach(OrganismPlaylistTranslation.propTypes, (value, key) => {
|
|
10
|
+
t.not(value, undefined, `PropType for "Organism.OrganismPlaylistTranslation.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
test('Organism › OrganismPlaylistTranslation › Default › should be rendered', renderComponentMacro, OrganismPlaylistTranslation, fixtureDefault);
|
|
14
|
+
test('Organism › OrganismPlaylistTranslation › Delete › should be rendered', renderComponentMacro, OrganismPlaylistTranslation, fixtureDelete);
|
|
15
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/organism/playlist-translation/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","OrganismPlaylistTranslation","fixtureDefault","fixtureDelete","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,2BAAP,MAAwC,IAAxC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,aAAP,MAA0B,mBAA1B;AAEAL,IAAI,CAAC,sEAAD,EAAyEM,CAAC,IAAI;AAChFA,EAAAA,CAAC,CAACC,IAAF;AACAN,EAAAA,OAAO,CAACE,2BAA2B,CAACK,SAA7B,EAAwC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC7DJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,gEAA+DF,GAAI,mEAA5F;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAV,IAAI,CAAC,uEAAD,EAA0EE,oBAA1E,EAAgGC,2BAAhG,EAA6HC,cAA7H,CAAJ;AACAJ,IAAI,CAAC,sEAAD,EAAyEE,oBAAzE,EAA+FC,2BAA/F,EAA4HE,aAA5H,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport OrganismPlaylistTranslation from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureDelete from './fixtures/delete';\n\ntest('Organism › OrganismPlaylistTranslation > should have valid propTypes', t => {\n t.pass();\n forEach(OrganismPlaylistTranslation.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Organism.OrganismPlaylistTranslation.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Organism › OrganismPlaylistTranslation › Default › should be rendered', renderComponentMacro, OrganismPlaylistTranslation, fixtureDefault);\ntest('Organism › OrganismPlaylistTranslation › Delete › should be rendered', renderComponentMacro, OrganismPlaylistTranslation, fixtureDelete);\n"],"file":"fixtures.js"}
|
|
@@ -4,6 +4,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
4
4
|
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
|
+
import EmptySearchResult from '../../atom/empty-search-result';
|
|
7
8
|
import Search from '../../atom/input-search';
|
|
8
9
|
import ButtonLink from '../../atom/button-link';
|
|
9
10
|
import Chips from '../../atom/chips';
|
|
@@ -11,13 +12,7 @@ import style from './style.css';
|
|
|
11
12
|
|
|
12
13
|
const buildResultView = (results, resultsAriaLabel, emptyMessages) => {
|
|
13
14
|
if (_isEmpty(results)) {
|
|
14
|
-
return /*#__PURE__*/React.createElement(
|
|
15
|
-
className: style.errorSection
|
|
16
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
17
|
-
className: style.firstErrorMessage
|
|
18
|
-
}, emptyMessages.firstMessage), /*#__PURE__*/React.createElement("span", {
|
|
19
|
-
className: style.secondErrorMessage
|
|
20
|
-
}, emptyMessages.secondMessage));
|
|
15
|
+
return /*#__PURE__*/React.createElement(EmptySearchResult, emptyMessages);
|
|
21
16
|
}
|
|
22
17
|
|
|
23
18
|
const items = results.map((result, index) => {
|
|
@@ -25,7 +20,7 @@ const buildResultView = (results, resultsAriaLabel, emptyMessages) => {
|
|
|
25
20
|
className: style.result,
|
|
26
21
|
key: `result-${index}`
|
|
27
22
|
}, /*#__PURE__*/React.createElement(Chips, result));
|
|
28
|
-
}
|
|
23
|
+
});
|
|
29
24
|
return /*#__PURE__*/React.createElement("ul", {
|
|
30
25
|
"aria-label": resultsAriaLabel
|
|
31
26
|
}, items);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/organism/search-and-chips-results/index.js"],"names":["React","PropTypes","Search","ButtonLink","Chips","style","buildResultView","results","resultsAriaLabel","emptyMessages","
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/search-and-chips-results/index.js"],"names":["React","PropTypes","EmptySearchResult","Search","ButtonLink","Chips","style","buildResultView","results","resultsAriaLabel","emptyMessages","items","map","result","index","SearchAndChipsResults","props","search","selectAllButton","onClick","label","disabled","ariaLabel","resultView","buttonProps","type","icon","position","container","header","button","resultContainer","propTypes","shape","string","func","bool","arrayOf","firstMessage","secondMessage"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty} from 'lodash/fp';\nimport EmptySearchResult from '../../atom/empty-search-result';\nimport Search from '../../atom/input-search';\nimport ButtonLink from '../../atom/button-link';\nimport Chips from '../../atom/chips';\nimport style from './style.css';\n\nconst buildResultView = (results, resultsAriaLabel, emptyMessages) => {\n if (isEmpty(results)) {\n return <EmptySearchResult {...emptyMessages} />;\n }\n\n const items = results.map((result, index) => {\n return (\n <li className={style.result} key={`result-${index}`}>\n <Chips {...result} />\n </li>\n );\n });\n\n return <ul aria-label={resultsAriaLabel}>{items}</ul>;\n};\n\nconst SearchAndChipsResults = props => {\n const {\n search,\n selectAllButton,\n results,\n emptyMessages,\n 'results-aria-label': resultsAriaLabel\n } = props;\n\n const {onClick, label, disabled = false, 'aria-label': ariaLabel} = selectAllButton;\n const resultView = buildResultView(results, resultsAriaLabel, emptyMessages);\n const buttonProps = {\n type: 'secondary',\n label,\n 'aria-label': ariaLabel,\n 'data-name': `select-all-button`,\n icon: {\n position: 'right',\n type: 'add'\n },\n onClick,\n disabled\n };\n\n return (\n <div className={style.container}>\n <div className={style.header}>\n <div className={style.button}>\n <ButtonLink {...buttonProps} />\n </div>\n <div className={style.search}>\n <Search {...search} theme=\"coorpmanager\" />\n </div>\n </div>\n <div className={style.resultContainer}>{resultView}</div>\n </div>\n );\n};\n\nSearchAndChipsResults.propTypes = {\n selectAllButton: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n disabled: PropTypes.bool,\n 'aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.PropTypes),\n results: PropTypes.arrayOf(PropTypes.shape(Chips.propTypes)),\n 'results-aria-label': PropTypes.string,\n emptyMessages: PropTypes.shape({\n firstMessage: PropTypes.string,\n secondMessage: PropTypes.string\n })\n};\n\nexport default SearchAndChipsResults;\n"],"file":"index.js"}
|
|
@@ -32,26 +32,4 @@
|
|
|
32
32
|
max-width: 268px;
|
|
33
33
|
display: inline-block;
|
|
34
34
|
margin: 0 16px 16px 0px;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.errorSection {
|
|
38
|
-
margin: 48px 0;
|
|
39
|
-
width: 100%;
|
|
40
|
-
display: flex;
|
|
41
|
-
flex-direction: column;
|
|
42
|
-
align-items: center;
|
|
43
|
-
font-size: 16px;
|
|
44
|
-
font-weight: bold;
|
|
45
|
-
font-family: Gilroy;
|
|
46
|
-
font-size: 16px;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.firstErrorMessage {
|
|
50
|
-
color: cm_grey_900;
|
|
51
|
-
display: block;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.secondErrorMessage {
|
|
55
|
-
color: cm_primary_blue;
|
|
56
|
-
display: block;
|
|
57
35
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { NovaCompositionCoorpacademyTypeEye as EyeIcon, NovaCompositionCoorpacademyAnalytics as AnalyticsIcon, NovaSolidContentContentViewModule1 as ListIcon, NovaSolidLoginLogout1 as LogoutIcon } from '@coorpacademy/nova-icons';
|
|
3
2
|
import PropTypes from 'prop-types';
|
|
4
3
|
import classnames from 'classnames';
|
|
5
4
|
import Picture from '../../atom/picture';
|
|
6
5
|
import Link from '../../atom/link';
|
|
6
|
+
import ButtonLink from '../../atom/button-link';
|
|
7
|
+
import IconLink from '../../atom/button-link-icon-only';
|
|
7
8
|
import style from './style.css';
|
|
8
9
|
|
|
9
10
|
const SetupHeader = props => {
|
|
@@ -30,6 +31,66 @@ const SetupHeader = props => {
|
|
|
30
31
|
updateShow(false);
|
|
31
32
|
}
|
|
32
33
|
|
|
34
|
+
const platformListButtonProps = {
|
|
35
|
+
type: 'tertiary',
|
|
36
|
+
label: items.platformList.label,
|
|
37
|
+
'aria-label': items.platformList.label,
|
|
38
|
+
'data-name': `platform-list-button`,
|
|
39
|
+
link: {
|
|
40
|
+
href: items.platformList.href
|
|
41
|
+
},
|
|
42
|
+
icon: {
|
|
43
|
+
position: 'left',
|
|
44
|
+
type: 'list'
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const platformListIconButtonProps = {
|
|
48
|
+
'aria-label': items.platformList.label,
|
|
49
|
+
'data-name': `platform-list-button`,
|
|
50
|
+
link: {
|
|
51
|
+
href: items.platformList.href
|
|
52
|
+
},
|
|
53
|
+
icon: 'list'
|
|
54
|
+
};
|
|
55
|
+
const goAnalyticsButtonProps = items.globalAnalytics && isDashboard === false ? {
|
|
56
|
+
type: 'secondary',
|
|
57
|
+
label: items.globalAnalytics.label,
|
|
58
|
+
'aria-label': items.globalAnalytics.label,
|
|
59
|
+
'data-name': `platform-list-button`,
|
|
60
|
+
link: {
|
|
61
|
+
href: items.globalAnalytics.href
|
|
62
|
+
},
|
|
63
|
+
icon: {
|
|
64
|
+
position: 'left',
|
|
65
|
+
type: 'analytics'
|
|
66
|
+
}
|
|
67
|
+
} : null;
|
|
68
|
+
const myPlatformButtonProps = {
|
|
69
|
+
type: 'primary',
|
|
70
|
+
label: items.platformList.label,
|
|
71
|
+
'aria-label': items.platformList.label,
|
|
72
|
+
'data-name': `platform-list-button`,
|
|
73
|
+
link: {
|
|
74
|
+
href
|
|
75
|
+
},
|
|
76
|
+
icon: {
|
|
77
|
+
position: 'left',
|
|
78
|
+
type: 'see'
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const logoutButtonProps = {
|
|
82
|
+
type: 'text',
|
|
83
|
+
label: items.logOut.label,
|
|
84
|
+
'aria-label': items.logOut.label,
|
|
85
|
+
'data-name': `logout-list-button`,
|
|
86
|
+
link: {
|
|
87
|
+
href: items.logOut.href
|
|
88
|
+
},
|
|
89
|
+
icon: {
|
|
90
|
+
position: 'left',
|
|
91
|
+
type: 'logout'
|
|
92
|
+
}
|
|
93
|
+
};
|
|
33
94
|
return /*#__PURE__*/React.createElement("div", {
|
|
34
95
|
className: style.container
|
|
35
96
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -46,47 +107,33 @@ const SetupHeader = props => {
|
|
|
46
107
|
src: logoMobile
|
|
47
108
|
}))) : /*#__PURE__*/React.createElement("ul", {
|
|
48
109
|
className: style.list
|
|
49
|
-
}, /*#__PURE__*/React.createElement(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}), /*#__PURE__*/React.createElement("li", null, items.platformList.label)), !isDashboard ? /*#__PURE__*/React.createElement("li", {
|
|
110
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
111
|
+
className: classnames([style.button, style.platformList])
|
|
112
|
+
}, /*#__PURE__*/React.createElement(ButtonLink, platformListButtonProps)), /*#__PURE__*/React.createElement("div", {
|
|
113
|
+
className: style.platformListIcon
|
|
114
|
+
}, /*#__PURE__*/React.createElement(IconLink, platformListIconButtonProps)), !isDashboard ? /*#__PURE__*/React.createElement("li", {
|
|
55
115
|
className: classnames(style.element, style.platformName)
|
|
56
116
|
}, platformName) : null), /*#__PURE__*/React.createElement("ul", {
|
|
57
117
|
className: style.list
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}), /*#__PURE__*/React.createElement("li", null, items.globalAnalytics.label)) : null, isHome || isDashboard ? null : /*#__PURE__*/React.createElement(Link, {
|
|
64
|
-
href: items.seeMyPlatform.href,
|
|
65
|
-
target: "_blank",
|
|
66
|
-
className: classnames(style.element, style.seeMyPlatform)
|
|
67
|
-
}, /*#__PURE__*/React.createElement(EyeIcon, {
|
|
68
|
-
className: style.icon
|
|
69
|
-
}), /*#__PURE__*/React.createElement("li", null, items.seeMyPlatform.label)), /*#__PURE__*/React.createElement("li", {
|
|
118
|
+
}, goAnalyticsButtonProps ? /*#__PURE__*/React.createElement("div", {
|
|
119
|
+
className: style.button
|
|
120
|
+
}, /*#__PURE__*/React.createElement(ButtonLink, goAnalyticsButtonProps)) : null, isDashboard || isHome ? null : /*#__PURE__*/React.createElement("div", {
|
|
121
|
+
className: style.button
|
|
122
|
+
}, /*#__PURE__*/React.createElement(ButtonLink, myPlatformButtonProps)), /*#__PURE__*/React.createElement("li", {
|
|
70
123
|
onMouseEnter: onMouseEnter,
|
|
71
124
|
className: style.profilePicture
|
|
72
125
|
}, /*#__PURE__*/React.createElement("img", {
|
|
73
126
|
src: image
|
|
74
|
-
})), /*#__PURE__*/React.createElement(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}, /*#__PURE__*/React.createElement(LogoutIcon, {
|
|
78
|
-
className: style.icon
|
|
79
|
-
}), /*#__PURE__*/React.createElement("li", null, items.logOut.label)))), /*#__PURE__*/React.createElement("div", {
|
|
127
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
128
|
+
className: style.logOut
|
|
129
|
+
}, /*#__PURE__*/React.createElement(ButtonLink, logoutButtonProps)))), /*#__PURE__*/React.createElement("div", {
|
|
80
130
|
"data-name": `logout-${show ? 'show' : 'hide'}`
|
|
81
131
|
}, /*#__PURE__*/React.createElement("div", {
|
|
82
132
|
className: style.arrowUp
|
|
83
|
-
}), /*#__PURE__*/React.createElement(
|
|
84
|
-
|
|
85
|
-
className: classnames(style.element, style.logOut),
|
|
133
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
134
|
+
className: style.logOut,
|
|
86
135
|
onMouseLeave: onMouseLeave
|
|
87
|
-
}, /*#__PURE__*/React.createElement(
|
|
88
|
-
className: style.icon
|
|
89
|
-
}), /*#__PURE__*/React.createElement("li", null, items.logOut.label))));
|
|
136
|
+
}, /*#__PURE__*/React.createElement(ButtonLink, logoutButtonProps))));
|
|
90
137
|
};
|
|
91
138
|
|
|
92
139
|
SetupHeader.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/organism/setup-header/index.js"],"names":["React","NovaCompositionCoorpacademyTypeEye","EyeIcon","NovaCompositionCoorpacademyAnalytics","AnalyticsIcon","NovaSolidContentContentViewModule1","ListIcon","NovaSolidLoginLogout1","LogoutIcon","PropTypes","classnames","Picture","Link","style","SetupHeader","props","show","updateShow","useState","platformName","items","href","user","logo","logoMobile","isHome","isDashboard","image","onMouseEnter","onMouseLeave","container","wrapper","logoDesktop","list","platformList","element","icon","label","globalAnalytics","seeMyPlatform","profilePicture","logOut","arrowUp","propTypes","shape","string","bool","username","src"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n NovaCompositionCoorpacademyTypeEye as EyeIcon,\n NovaCompositionCoorpacademyAnalytics as AnalyticsIcon,\n NovaSolidContentContentViewModule1 as ListIcon,\n NovaSolidLoginLogout1 as LogoutIcon\n} from '@coorpacademy/nova-icons';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Picture from '../../atom/picture';\nimport Link from '../../atom/link';\nimport style from './style.css';\n\nconst SetupHeader = props => {\n const [show, updateShow] = React.useState(false);\n const {\n platformName,\n items,\n href,\n user = {},\n logo,\n logoMobile,\n isHome = false,\n isDashboard = false\n } = props;\n const {image = ''} = user;\n\n function onMouseEnter() {\n updateShow(true);\n }\n\n function onMouseLeave() {\n updateShow(false);\n }\n\n return (\n <div className={style.container}>\n <div className={style.wrapper}>\n {isHome ? (\n <div className={style.logo}>\n <Link href={href}>\n <Picture className={style.logoDesktop} src={logo} />\n <Picture className={style.logoMobile} src={logoMobile} />\n </Link>\n </div>\n ) : (\n <ul className={style.list}>\n <Link\n href={items.platformList.href}\n className={classnames(style.element, style.platformList)}\n >\n <ListIcon className={style.icon} />\n <li>{items.platformList.label}</li>\n </Link>\n {!isDashboard ? (\n <li className={classnames(style.element, style.platformName)}>{platformName}</li>\n ) : null}\n </ul>\n )}\n <ul className={style.list}>\n {items.globalAnalytics && isDashboard === false ? (\n <Link\n href={items.globalAnalytics.href}\n className={classnames(style.element, style.globalAnalytics)}\n >\n <AnalyticsIcon className={style.icon} />\n <li>{items.globalAnalytics.label}</li>\n </Link>\n ) : null}\n {isHome || isDashboard ? null : (\n <Link\n href={items.seeMyPlatform.href}\n target=\"_blank\"\n className={classnames(style.element, style.seeMyPlatform)}\n >\n <EyeIcon className={style.icon} />\n <li>{items.seeMyPlatform.label}</li>\n </Link>\n )}\n <li onMouseEnter={onMouseEnter} className={style.profilePicture}>\n <img src={image} />\n </li>\n <Link href={items.logOut.href} className={classnames(style.element, style.logOut)}>\n <LogoutIcon className={style.icon} />\n <li>{items.logOut.label}</li>\n </Link>\n </ul>\n </div>\n\n <div data-name={`logout-${show ? 'show' : 'hide'}`}>\n <div className={style.arrowUp} />\n <Link\n href={items.logOut.href}\n className={classnames(style.element, style.logOut)}\n onMouseLeave={onMouseLeave}\n >\n <LogoutIcon className={style.icon} />\n <li>{items.logOut.label}</li>\n </Link>\n </div>\n </div>\n );\n};\n\nSetupHeader.propTypes = {\n items: PropTypes.shape({\n seeMyPlatform: PropTypes.shape({href: PropTypes.string, label: PropTypes.string}),\n logOut: PropTypes.shape({href: PropTypes.string, label: PropTypes.string}),\n globalAnalytics: PropTypes.shape({href: PropTypes.string, label: PropTypes.string}),\n platformList: PropTypes.shape({href: PropTypes.string, label: PropTypes.string})\n }),\n platformName: PropTypes.string,\n isDashboard: PropTypes.bool,\n isHome: PropTypes.bool,\n href: Link.propTypes.href,\n user: PropTypes.shape({\n username: PropTypes.string,\n image: PropTypes.string\n }),\n logo: Picture.propTypes.src,\n logoMobile: Picture.propTypes.src\n};\n\nexport default SetupHeader;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/setup-header/index.js"],"names":["React","PropTypes","classnames","Picture","Link","ButtonLink","IconLink","style","SetupHeader","props","show","updateShow","useState","platformName","items","href","user","logo","logoMobile","isHome","isDashboard","image","onMouseEnter","onMouseLeave","platformListButtonProps","type","label","platformList","link","icon","position","platformListIconButtonProps","goAnalyticsButtonProps","globalAnalytics","myPlatformButtonProps","logoutButtonProps","logOut","container","wrapper","logoDesktop","list","button","platformListIcon","element","profilePicture","arrowUp","propTypes","shape","seeMyPlatform","string","bool","username","src"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Picture from '../../atom/picture';\nimport Link from '../../atom/link';\nimport ButtonLink from '../../atom/button-link';\nimport IconLink from '../../atom/button-link-icon-only';\nimport style from './style.css';\n\nconst SetupHeader = props => {\n const [show, updateShow] = React.useState(false);\n const {\n platformName,\n items,\n href,\n user = {},\n logo,\n logoMobile,\n isHome = false,\n isDashboard = false\n } = props;\n const {image = ''} = user;\n\n function onMouseEnter() {\n updateShow(true);\n }\n\n function onMouseLeave() {\n updateShow(false);\n }\n\n const platformListButtonProps = {\n type: 'tertiary',\n label: items.platformList.label,\n 'aria-label': items.platformList.label,\n 'data-name': `platform-list-button`,\n link: {\n href: items.platformList.href\n },\n icon: {\n position: 'left',\n type: 'list'\n }\n };\n\n const platformListIconButtonProps = {\n 'aria-label': items.platformList.label,\n 'data-name': `platform-list-button`,\n link: {\n href: items.platformList.href\n },\n icon: 'list'\n };\n\n const goAnalyticsButtonProps =\n items.globalAnalytics && isDashboard === false\n ? {\n type: 'secondary',\n label: items.globalAnalytics.label,\n 'aria-label': items.globalAnalytics.label,\n 'data-name': `platform-list-button`,\n link: {\n href: items.globalAnalytics.href\n },\n icon: {\n position: 'left',\n type: 'analytics'\n }\n }\n : null;\n\n const myPlatformButtonProps = {\n type: 'primary',\n label: items.platformList.label,\n 'aria-label': items.platformList.label,\n 'data-name': `platform-list-button`,\n link: {\n href\n },\n icon: {\n position: 'left',\n type: 'see'\n }\n };\n\n const logoutButtonProps = {\n type: 'text',\n label: items.logOut.label,\n 'aria-label': items.logOut.label,\n 'data-name': `logout-list-button`,\n link: {\n href: items.logOut.href\n },\n icon: {\n position: 'left',\n type: 'logout'\n }\n };\n\n return (\n <div className={style.container}>\n <div className={style.wrapper}>\n {isHome ? (\n <div className={style.logo}>\n <Link href={href}>\n <Picture className={style.logoDesktop} src={logo} />\n <Picture className={style.logoMobile} src={logoMobile} />\n </Link>\n </div>\n ) : (\n <ul className={style.list}>\n <div className={classnames([style.button, style.platformList])}>\n <ButtonLink {...platformListButtonProps} />\n </div>\n <div className={style.platformListIcon}>\n <IconLink {...platformListIconButtonProps} />\n </div>\n {!isDashboard ? (\n <li className={classnames(style.element, style.platformName)}>{platformName}</li>\n ) : null}\n </ul>\n )}\n <ul className={style.list}>\n {goAnalyticsButtonProps ? (\n <div className={style.button}>\n <ButtonLink {...goAnalyticsButtonProps} />\n </div>\n ) : null}\n {isDashboard || isHome ? null : (\n <div className={style.button}>\n <ButtonLink {...myPlatformButtonProps} />\n </div>\n )}\n <li onMouseEnter={onMouseEnter} className={style.profilePicture}>\n <img src={image} />\n </li>\n <div className={style.logOut}>\n <ButtonLink {...logoutButtonProps} />\n </div>\n </ul>\n </div>\n <div data-name={`logout-${show ? 'show' : 'hide'}`}>\n <div className={style.arrowUp} />\n <div className={style.logOut} onMouseLeave={onMouseLeave}>\n <ButtonLink {...logoutButtonProps} />\n </div>\n </div>\n </div>\n );\n};\n\nSetupHeader.propTypes = {\n items: PropTypes.shape({\n seeMyPlatform: PropTypes.shape({href: PropTypes.string, label: PropTypes.string}),\n logOut: PropTypes.shape({href: PropTypes.string, label: PropTypes.string}),\n globalAnalytics: PropTypes.shape({href: PropTypes.string, label: PropTypes.string}),\n platformList: PropTypes.shape({href: PropTypes.string, label: PropTypes.string})\n }),\n platformName: PropTypes.string,\n isDashboard: PropTypes.bool,\n isHome: PropTypes.bool,\n href: Link.propTypes.href,\n user: PropTypes.shape({\n username: PropTypes.string,\n image: PropTypes.string\n }),\n logo: Picture.propTypes.src,\n logoMobile: Picture.propTypes.src\n};\n\nexport default SetupHeader;\n"],"file":"index.js"}
|
|
@@ -83,6 +83,11 @@
|
|
|
83
83
|
text-decoration: none;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
.button {
|
|
87
|
+
min-width: 175px;
|
|
88
|
+
margin-right: 16px;
|
|
89
|
+
}
|
|
90
|
+
|
|
86
91
|
.element {
|
|
87
92
|
font-family: Gilroy;
|
|
88
93
|
font-size: 14px;
|
|
@@ -99,48 +104,7 @@
|
|
|
99
104
|
border-radius: 5px;
|
|
100
105
|
}
|
|
101
106
|
|
|
102
|
-
.icon {
|
|
103
|
-
height: 12px;
|
|
104
|
-
top: 0;
|
|
105
|
-
left: 0;
|
|
106
|
-
margin-right: 8px;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.seeMyPlatform {
|
|
110
|
-
composes: element;
|
|
111
|
-
color: white;
|
|
112
|
-
min-width: 175px;
|
|
113
|
-
background-color: cm_primary_blue;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
.seeMyPlatform:hover {
|
|
117
|
-
background-color: cm_blue_600;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
.globalAnalytics {
|
|
121
|
-
composes: element;
|
|
122
|
-
min-width: 175px;
|
|
123
|
-
background-color: cm_grey_100;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
.globalAnalytics:hover {
|
|
127
|
-
background-color: cm_grey_200;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.platformList {
|
|
131
|
-
composes: element;
|
|
132
|
-
width: 145px;
|
|
133
|
-
margin-right: 16px;
|
|
134
|
-
background-color: xtraLightGrey;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
.platformList:hover {
|
|
138
|
-
background-color: cm_grey_100;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
107
|
.logOut {
|
|
142
|
-
composes: element;
|
|
143
|
-
background-color: transparent;
|
|
144
108
|
width: 100px;
|
|
145
109
|
color: negative;
|
|
146
110
|
}
|
|
@@ -179,6 +143,10 @@
|
|
|
179
143
|
border-radius: 50%;
|
|
180
144
|
}
|
|
181
145
|
|
|
146
|
+
.platformListIcon{
|
|
147
|
+
display: none;
|
|
148
|
+
}
|
|
149
|
+
|
|
182
150
|
@media cm_tablet {
|
|
183
151
|
[data-name="logout-show"] {
|
|
184
152
|
position: absolute;
|
|
@@ -192,6 +160,11 @@
|
|
|
192
160
|
}
|
|
193
161
|
|
|
194
162
|
[data-name="logout-show"] .logOut {
|
|
163
|
+
border-radius: 7px;
|
|
164
|
+
height: 44px;
|
|
165
|
+
display: flex;
|
|
166
|
+
margin: 0;
|
|
167
|
+
color: negative;
|
|
195
168
|
background-color: cm_grey_100;
|
|
196
169
|
justify-content: center;
|
|
197
170
|
align-items: center;
|
|
@@ -199,6 +172,12 @@
|
|
|
199
172
|
text-decoration: none;
|
|
200
173
|
}
|
|
201
174
|
|
|
175
|
+
[data-name="logout-show"] .logOut:hover {
|
|
176
|
+
display: flex;
|
|
177
|
+
margin: 0;
|
|
178
|
+
color: cm_negative_200;
|
|
179
|
+
}
|
|
180
|
+
|
|
202
181
|
.arrowUp {
|
|
203
182
|
width: 0;
|
|
204
183
|
height: 0;
|
|
@@ -208,33 +187,18 @@
|
|
|
208
187
|
border-bottom: 8px solid cm_grey_100;
|
|
209
188
|
}
|
|
210
189
|
|
|
211
|
-
|
|
190
|
+
.platformListIcon {
|
|
212
191
|
display: flex;
|
|
213
|
-
margin: 0;
|
|
214
|
-
color: black;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
[data-name="logout-show"] .logOut:hover {
|
|
218
|
-
display: flex;
|
|
219
|
-
margin: 0;
|
|
220
|
-
color: negative;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
.platformList {
|
|
224
192
|
justify-content: center;
|
|
225
193
|
align-items: center;
|
|
226
|
-
padding: 0
|
|
227
|
-
width:
|
|
194
|
+
padding: 0 16px 0px 0px;
|
|
195
|
+
width: 44px;
|
|
228
196
|
}
|
|
229
197
|
|
|
230
|
-
.platformList
|
|
198
|
+
.platformList {
|
|
231
199
|
display: none;
|
|
232
200
|
}
|
|
233
201
|
|
|
234
|
-
.platformList .icon {
|
|
235
|
-
margin-right: 0;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
202
|
.platformName {
|
|
239
203
|
font-size: 16px;
|
|
240
204
|
}
|
|
@@ -243,9 +207,10 @@
|
|
|
243
207
|
display: none;
|
|
244
208
|
}
|
|
245
209
|
|
|
246
|
-
.
|
|
247
|
-
|
|
210
|
+
.container {
|
|
211
|
+
margin: 24px 32px;
|
|
248
212
|
}
|
|
213
|
+
|
|
249
214
|
}
|
|
250
215
|
|
|
251
216
|
@media mobile {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { NovaSolidRemoveAddAddCircle1 as AddIcon, NovaCompositionCoorpacademyAnalytics as AnalyticsIcon, NovaSolidContentEditionBin as BinIcon, NovaCompositionCoorpacademyBulletPoint as BulletPointIcon, NovaCompositionNavigationArrowLeft as ChevronLeftIcon, NovaCompositionNavigationArrowRight as ChevronRightIcon, NovaSolidStatusClose as CloseIcon, NovaSolidContentEditionPencilWrite as EditIcon, NovaCompositionCoorpacademyEye as EyeIcon, NovaSolidComputersSdCard as SaveIcon, NovaSolidContentContentViewModule1 as ListIcon, NovaSolidLoginLogout1 as LogoutIcon } from '@coorpacademy/nova-icons';
|
|
2
|
+
export const ICONS = {
|
|
3
|
+
add: AddIcon,
|
|
4
|
+
analytics: AnalyticsIcon,
|
|
5
|
+
bin: BinIcon,
|
|
6
|
+
'bullet-point': BulletPointIcon,
|
|
7
|
+
'chevron-left': ChevronLeftIcon,
|
|
8
|
+
'chevron-right': ChevronRightIcon,
|
|
9
|
+
close: CloseIcon,
|
|
10
|
+
edit: EditIcon,
|
|
11
|
+
list: ListIcon,
|
|
12
|
+
logout: LogoutIcon,
|
|
13
|
+
save: SaveIcon,
|
|
14
|
+
see: EyeIcon
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=button-icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/util/button-icons.js"],"names":["NovaSolidRemoveAddAddCircle1","AddIcon","NovaCompositionCoorpacademyAnalytics","AnalyticsIcon","NovaSolidContentEditionBin","BinIcon","NovaCompositionCoorpacademyBulletPoint","BulletPointIcon","NovaCompositionNavigationArrowLeft","ChevronLeftIcon","NovaCompositionNavigationArrowRight","ChevronRightIcon","NovaSolidStatusClose","CloseIcon","NovaSolidContentEditionPencilWrite","EditIcon","NovaCompositionCoorpacademyEye","EyeIcon","NovaSolidComputersSdCard","SaveIcon","NovaSolidContentContentViewModule1","ListIcon","NovaSolidLoginLogout1","LogoutIcon","ICONS","add","analytics","bin","close","edit","list","logout","save","see"],"mappings":"AAAA,SACEA,4BAA4B,IAAIC,OADlC,EAEEC,oCAAoC,IAAIC,aAF1C,EAGEC,0BAA0B,IAAIC,OAHhC,EAIEC,sCAAsC,IAAIC,eAJ5C,EAKEC,kCAAkC,IAAIC,eALxC,EAMEC,mCAAmC,IAAIC,gBANzC,EAOEC,oBAAoB,IAAIC,SAP1B,EAQEC,kCAAkC,IAAIC,QARxC,EASEC,8BAA8B,IAAIC,OATpC,EAUEC,wBAAwB,IAAIC,QAV9B,EAWEC,kCAAkC,IAAIC,QAXxC,EAYEC,qBAAqB,IAAIC,UAZ3B,QAaO,0BAbP;AAeA,OAAO,MAAMC,KAAK,GAAG;AACnBC,EAAAA,GAAG,EAAExB,OADc;AAEnByB,EAAAA,SAAS,EAAEvB,aAFQ;AAGnBwB,EAAAA,GAAG,EAAEtB,OAHc;AAInB,kBAAgBE,eAJG;AAKnB,kBAAgBE,eALG;AAMnB,mBAAiBE,gBANE;AAOnBiB,EAAAA,KAAK,EAAEf,SAPY;AAQnBgB,EAAAA,IAAI,EAAEd,QARa;AASnBe,EAAAA,IAAI,EAAET,QATa;AAUnBU,EAAAA,MAAM,EAAER,UAVW;AAWnBS,EAAAA,IAAI,EAAEb,QAXa;AAYnBc,EAAAA,GAAG,EAAEhB;AAZc,CAAd","sourcesContent":["import {\n NovaSolidRemoveAddAddCircle1 as AddIcon,\n NovaCompositionCoorpacademyAnalytics as AnalyticsIcon,\n NovaSolidContentEditionBin as BinIcon,\n NovaCompositionCoorpacademyBulletPoint as BulletPointIcon,\n NovaCompositionNavigationArrowLeft as ChevronLeftIcon,\n NovaCompositionNavigationArrowRight as ChevronRightIcon,\n NovaSolidStatusClose as CloseIcon,\n NovaSolidContentEditionPencilWrite as EditIcon,\n NovaCompositionCoorpacademyEye as EyeIcon,\n NovaSolidComputersSdCard as SaveIcon,\n NovaSolidContentContentViewModule1 as ListIcon,\n NovaSolidLoginLogout1 as LogoutIcon\n} from '@coorpacademy/nova-icons';\n\nexport const ICONS = {\n add: AddIcon,\n analytics: AnalyticsIcon,\n bin: BinIcon,\n 'bullet-point': BulletPointIcon,\n 'chevron-left': ChevronLeftIcon,\n 'chevron-right': ChevronRightIcon,\n close: CloseIcon,\n edit: EditIcon,\n list: ListIcon,\n logout: LogoutIcon,\n save: SaveIcon,\n see: EyeIcon\n};\n"],"file":"button-icons.js"}
|
|
@@ -13,10 +13,10 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
|
|
14
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
15
|
|
|
16
|
-
var _novaIcons = require("@coorpacademy/nova-icons");
|
|
17
|
-
|
|
18
16
|
var _link = _interopRequireDefault(require("../link"));
|
|
19
17
|
|
|
18
|
+
var _buttonIcons = require("../../util/button-icons");
|
|
19
|
+
|
|
20
20
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
21
21
|
|
|
22
22
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
@@ -27,25 +27,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
27
27
|
|
|
28
28
|
function _extends() { _extends = Object.assign || 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); }
|
|
29
29
|
|
|
30
|
-
const ICONS = {
|
|
31
|
-
add: _novaIcons.NovaSolidRemoveAddAddCircle1,
|
|
32
|
-
analytics: _novaIcons.NovaCompositionCoorpacademyAnalytics,
|
|
33
|
-
bin: _novaIcons.NovaSolidContentEditionBin,
|
|
34
|
-
'bullet-point': _novaIcons.NovaCompositionCoorpacademyBulletPoint,
|
|
35
|
-
'chevron-left': _novaIcons.NovaCompositionNavigationArrowLeft,
|
|
36
|
-
'chevron-right': _novaIcons.NovaCompositionNavigationArrowRight,
|
|
37
|
-
close: _novaIcons.NovaCompositionCoorpacademyNext,
|
|
38
|
-
edit: _novaIcons.NovaSolidContentEditionPencilWrite,
|
|
39
|
-
save: _novaIcons.NovaSolidComputersSdCard,
|
|
40
|
-
see: _novaIcons.NovaCompositionCoorpacademyEye
|
|
41
|
-
};
|
|
42
|
-
|
|
43
30
|
const getButtonContent = (icon, label) => {
|
|
44
31
|
const {
|
|
45
32
|
type,
|
|
46
33
|
position
|
|
47
34
|
} = icon;
|
|
48
|
-
const Icon = (0, _getOr2.default)(null, type, ICONS);
|
|
35
|
+
const Icon = (0, _getOr2.default)(null, type, _buttonIcons.ICONS);
|
|
49
36
|
|
|
50
37
|
if (!Icon) {
|
|
51
38
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -55,14 +42,6 @@ const getButtonContent = (icon, label) => {
|
|
|
55
42
|
}, label));
|
|
56
43
|
}
|
|
57
44
|
|
|
58
|
-
if (position === 'center' && Icon) {
|
|
59
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
60
|
-
className: _style.default.buttonContent
|
|
61
|
-
}, /*#__PURE__*/_react.default.createElement(Icon, {
|
|
62
|
-
className: _style.default.icon
|
|
63
|
-
}));
|
|
64
|
-
}
|
|
65
|
-
|
|
66
45
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
67
46
|
className: _style.default.buttonContent
|
|
68
47
|
}, position === 'left' ? /*#__PURE__*/_react.default.createElement(Icon, {
|
|
@@ -114,8 +93,8 @@ ButtonLink.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
114
93
|
'aria-label': _propTypes.default.string,
|
|
115
94
|
'data-name': _propTypes.default.string,
|
|
116
95
|
icon: _propTypes.default.shape({
|
|
117
|
-
position: _propTypes.default.oneOf(['right', 'left'
|
|
118
|
-
type: _propTypes.default.oneOf((0, _keys2.default)(ICONS))
|
|
96
|
+
position: _propTypes.default.oneOf(['right', 'left']),
|
|
97
|
+
type: _propTypes.default.oneOf((0, _keys2.default)(_buttonIcons.ICONS))
|
|
119
98
|
}),
|
|
120
99
|
onClick: _propTypes.default.func,
|
|
121
100
|
link: _propTypes.default.shape({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/button-link/index.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/button-link/index.js"],"names":["getButtonContent","icon","label","type","position","Icon","ICONS","style","buttonContent","ButtonLink","props","disabled","dataName","ariaLabel","link","onClick","contentView","styleButton","button","primary","secondary","tertiary","text","dangerous","handleOnClick","propTypes","PropTypes","oneOf","string","shape","func","href","download","bool","target"],"mappings":"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","sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, keys} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Link from '../link';\nimport {ICONS} from '../../util/button-icons';\nimport style from './style.css';\n\nconst getButtonContent = (icon, label) => {\n const {type, position} = icon;\n const Icon = getOr(null, type, ICONS);\n\n if (!Icon) {\n return (\n <div className={style.buttonContent}>\n <span className={style.label}>{label}</span>\n </div>\n );\n }\n\n return (\n <div className={style.buttonContent}>\n {position === 'left' ? <Icon className={style.icon} /> : null}\n <span className={style.label}>{label}</span>\n {position === 'right' ? <Icon className={style.icon} /> : null}\n </div>\n );\n};\n\nconst ButtonLink = props => {\n const {\n type,\n label,\n disabled,\n icon = {},\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n link,\n onClick\n } = props;\n const contentView = getButtonContent(icon, label);\n const styleButton = classnames(\n style.button,\n type === 'primary' && style.primary,\n type === 'secondary' && style.secondary,\n type === 'tertiary' && style.tertiary,\n type === 'text' && style.text,\n type === 'dangerous' && style.dangerous,\n link && style.link,\n disabled && style.disabled\n );\n\n if (link) {\n return (\n <Link\n {...link}\n className={styleButton}\n data-name={dataName}\n aria-label={ariaLabel || label}\n title={ariaLabel || label}\n >\n {contentView}\n </Link>\n );\n }\n\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n return (\n <button\n type=\"button\"\n aria-label={ariaLabel || label}\n title={ariaLabel || label}\n data-name={dataName}\n className={styleButton}\n onClick={handleOnClick}\n >\n {contentView}\n </button>\n );\n};\n\nButtonLink.propTypes = {\n type: PropTypes.oneOf(['primary', 'secondary', 'tertiary', 'text', 'dangerous']),\n label: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n icon: PropTypes.shape({\n position: PropTypes.oneOf(['right', 'left']),\n type: PropTypes.oneOf(keys(ICONS))\n }),\n onClick: PropTypes.func,\n link: PropTypes.shape({\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])\n }),\n disabled: PropTypes.bool\n};\n\nexport default ButtonLink;\n"],"file":"index.js"}
|
|
@@ -16,12 +16,8 @@ var _buttonPrimaryNoIcon = _interopRequireDefault(require("./fixtures/button-pri
|
|
|
16
16
|
|
|
17
17
|
var _buttonSecondaryNoIconDisabled = _interopRequireDefault(require("./fixtures/button-secondary-no-icon-disabled"));
|
|
18
18
|
|
|
19
|
-
var _buttonTertiaryIconBullet = _interopRequireDefault(require("./fixtures/button-tertiary-icon-bullet"));
|
|
20
|
-
|
|
21
19
|
var _buttonTertiaryIconLeft = _interopRequireDefault(require("./fixtures/button-tertiary-icon-left"));
|
|
22
20
|
|
|
23
|
-
var _iconButton = _interopRequireDefault(require("./fixtures/icon-button"));
|
|
24
|
-
|
|
25
21
|
var _linkPrimaryDisabledIconRight = _interopRequireDefault(require("./fixtures/link-primary-disabled-icon-right"));
|
|
26
22
|
|
|
27
23
|
var _linkSecondaryIconRight = _interopRequireDefault(require("./fixtures/link-secondary-icon-right"));
|
|
@@ -44,9 +40,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
44
40
|
(0, _ava.default)('Atom › AtomButtonLink › ButtonPrimaryIconLeft › should be rendered', _renderComponent.default, _.default, _buttonPrimaryIconLeft.default);
|
|
45
41
|
(0, _ava.default)('Atom › AtomButtonLink › ButtonPrimaryNoIcon › should be rendered', _renderComponent.default, _.default, _buttonPrimaryNoIcon.default);
|
|
46
42
|
(0, _ava.default)('Atom › AtomButtonLink › ButtonSecondaryNoIconDisabled › should be rendered', _renderComponent.default, _.default, _buttonSecondaryNoIconDisabled.default);
|
|
47
|
-
(0, _ava.default)('Atom › AtomButtonLink › ButtonTertiaryIconBullet › should be rendered', _renderComponent.default, _.default, _buttonTertiaryIconBullet.default);
|
|
48
43
|
(0, _ava.default)('Atom › AtomButtonLink › ButtonTertiaryIconLeft › should be rendered', _renderComponent.default, _.default, _buttonTertiaryIconLeft.default);
|
|
49
|
-
(0, _ava.default)('Atom › AtomButtonLink › IconButton › should be rendered', _renderComponent.default, _.default, _iconButton.default);
|
|
50
44
|
(0, _ava.default)('Atom › AtomButtonLink › LinkPrimaryDisabledIconRight › should be rendered', _renderComponent.default, _.default, _linkPrimaryDisabledIconRight.default);
|
|
51
45
|
(0, _ava.default)('Atom › AtomButtonLink › LinkSecondaryIconRight › should be rendered', _renderComponent.default, _.default, _linkSecondaryIconRight.default);
|
|
52
46
|
(0, _ava.default)('Atom › AtomButtonLink › LinkTertiaryNoIcon › should be rendered', _renderComponent.default, _.default, _linkTertiaryNoIcon.default);
|