@coorpacademy/components 10.2.2 → 10.3.0
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/wizard-steps/index.js +1 -1
- package/es/atom/wizard-steps/index.js.map +1 -1
- package/es/atom/wizard-steps/style.css +1 -6
- package/es/molecule/banner/test/fixtures.js +8 -0
- package/es/molecule/banner/test/fixtures.js.map +1 -1
- package/es/molecule/brand-form-group/style.css +1 -2
- package/es/molecule/cockpit-popin/test/fixtures.js +17 -0
- package/es/molecule/cockpit-popin/test/fixtures.js.map +1 -0
- package/es/molecule/select-multiple/index.js +2 -2
- package/es/molecule/select-multiple/index.js.map +1 -1
- package/es/molecule/select-multiple/style.css +33 -16
- package/es/molecule/select-multiple/test/fixtures.js +8 -0
- package/es/molecule/select-multiple/test/fixtures.js.map +1 -1
- package/es/molecule/wizard-summary/index.js +4 -1
- package/es/molecule/wizard-summary/index.js.map +1 -1
- package/es/molecule/wizard-summary/style.css +18 -8
- package/es/molecule/wizard-summary/test/fixtures/three-sections.js +2 -2
- package/es/molecule/wizard-summary/test/fixtures/three-sections.js.map +1 -1
- package/es/organism/brand-form/index.js +39 -29
- package/es/organism/brand-form/index.js.map +1 -1
- package/es/organism/brand-form/style.css +8 -3
- package/es/organism/{playlist-translation → content-translation}/index.js +0 -0
- package/es/organism/content-translation/index.js.map +1 -0
- package/es/organism/{playlist-translation → content-translation}/style.css +0 -0
- package/es/organism/{playlist-translation → content-translation}/test/fixtures/default.js +0 -0
- package/es/organism/content-translation/test/fixtures/default.js.map +1 -0
- package/es/organism/{playlist-translation → content-translation}/test/fixtures/delete.js +0 -0
- package/es/organism/content-translation/test/fixtures/delete.js.map +1 -0
- package/es/organism/content-translation/test/fixtures.js +15 -0
- package/es/organism/content-translation/test/fixtures.js.map +1 -0
- package/es/organism/list-item/test/fixtures.js +19 -0
- package/es/organism/list-item/test/fixtures.js.map +1 -0
- package/es/organism/list-items/test/fixtures.js +17 -0
- package/es/organism/list-items/test/fixtures.js.map +1 -0
- package/es/organism/wizard-contents/index.js +146 -0
- package/es/organism/wizard-contents/index.js.map +1 -0
- package/es/organism/wizard-contents/style.css +118 -0
- package/es/organism/wizard-contents/test/fixtures/playlist-add-courses-create.js +40 -0
- package/es/organism/wizard-contents/test/fixtures/playlist-add-courses-create.js.map +1 -0
- package/es/organism/wizard-contents/test/fixtures/playlist-general-settings-create.js +36 -0
- package/es/organism/wizard-contents/test/fixtures/playlist-general-settings-create.js.map +1 -0
- package/es/organism/wizard-contents/test/fixtures/playlist-general-settings-edit.js +36 -0
- package/es/organism/wizard-contents/test/fixtures/playlist-general-settings-edit.js.map +1 -0
- package/es/organism/wizard-contents/test/fixtures/playlist-populations-create.js +40 -0
- package/es/organism/wizard-contents/test/fixtures/playlist-populations-create.js.map +1 -0
- package/es/organism/wizard-contents/test/fixtures/playlist-translate-edit.js +40 -0
- package/es/organism/wizard-contents/test/fixtures/playlist-translate-edit.js.map +1 -0
- package/es/organism/wizard-contents/test/fixtures.js +21 -0
- package/es/organism/wizard-contents/test/fixtures.js.map +1 -0
- package/es/template/back-office/brand-update/index.js +8 -1
- package/es/template/back-office/brand-update/index.js.map +1 -1
- package/es/template/back-office/brand-update/style.css +3 -15
- package/es/template/back-office/brand-update/test/fixtures/wizard-add-courses-playlist.js +21 -0
- package/es/template/back-office/brand-update/test/fixtures/wizard-add-courses-playlist.js.map +1 -0
- package/es/template/back-office/brand-update/test/fixtures/wizard-form-create-playlist.js +21 -0
- package/es/template/back-office/brand-update/test/fixtures/wizard-form-create-playlist.js.map +1 -0
- package/es/template/back-office/brand-update/test/fixtures/wizard-form-edit-playlist.js +22 -0
- package/es/template/back-office/brand-update/test/fixtures/wizard-form-edit-playlist.js.map +1 -0
- package/es/template/back-office/brand-update/test/fixtures/wizard-populations-playlist.js +21 -0
- package/es/template/back-office/brand-update/test/fixtures/wizard-populations-playlist.js.map +1 -0
- package/es/template/back-office/brand-update/test/fixtures/wizard-translate-playlist.js +21 -0
- package/es/template/back-office/brand-update/test/fixtures/wizard-translate-playlist.js.map +1 -0
- package/es/template/back-office/brand-update/test/fixtures.js +10 -2
- package/es/template/back-office/brand-update/test/fixtures.js.map +1 -1
- package/lib/atom/wizard-steps/index.js +1 -1
- package/lib/atom/wizard-steps/index.js.map +1 -1
- package/lib/atom/wizard-steps/style.css +1 -6
- package/lib/molecule/banner/test/fixtures.js +12 -0
- package/lib/molecule/banner/test/fixtures.js.map +1 -1
- package/lib/molecule/brand-form-group/style.css +1 -2
- package/lib/molecule/cockpit-popin/test/fixtures.js +28 -0
- package/lib/molecule/cockpit-popin/test/fixtures.js.map +1 -0
- package/lib/molecule/select-multiple/index.js +2 -2
- package/lib/molecule/select-multiple/index.js.map +1 -1
- package/lib/molecule/select-multiple/style.css +33 -16
- package/lib/molecule/select-multiple/test/fixtures.js +12 -0
- package/lib/molecule/select-multiple/test/fixtures.js.map +1 -1
- package/lib/molecule/wizard-summary/index.js +5 -3
- package/lib/molecule/wizard-summary/index.js.map +1 -1
- package/lib/molecule/wizard-summary/style.css +18 -8
- package/lib/molecule/wizard-summary/test/fixtures/three-sections.js +2 -2
- package/lib/molecule/wizard-summary/test/fixtures/three-sections.js.map +1 -1
- package/lib/organism/brand-form/index.js +39 -29
- package/lib/organism/brand-form/index.js.map +1 -1
- package/lib/organism/brand-form/style.css +8 -3
- package/lib/organism/{playlist-translation → content-translation}/index.js +0 -0
- package/lib/organism/content-translation/index.js.map +1 -0
- package/lib/organism/{playlist-translation → content-translation}/style.css +0 -0
- package/lib/organism/{playlist-translation → content-translation}/test/fixtures/default.js +0 -0
- package/lib/organism/content-translation/test/fixtures/default.js.map +1 -0
- package/lib/organism/{playlist-translation → content-translation}/test/fixtures/delete.js +0 -0
- package/lib/organism/content-translation/test/fixtures/delete.js.map +1 -0
- package/lib/organism/content-translation/test/fixtures.js +25 -0
- package/lib/organism/content-translation/test/fixtures.js.map +1 -0
- package/lib/organism/list-item/test/fixtures.js +31 -0
- package/lib/organism/list-item/test/fixtures.js.map +1 -0
- package/lib/organism/list-items/test/fixtures.js +28 -0
- package/lib/organism/list-items/test/fixtures.js.map +1 -0
- package/lib/organism/wizard-contents/index.js +164 -0
- package/lib/organism/wizard-contents/index.js.map +1 -0
- package/lib/organism/wizard-contents/style.css +118 -0
- package/lib/organism/wizard-contents/test/fixtures/playlist-add-courses-create.js +49 -0
- package/lib/organism/wizard-contents/test/fixtures/playlist-add-courses-create.js.map +1 -0
- package/lib/organism/wizard-contents/test/fixtures/playlist-general-settings-create.js +45 -0
- package/lib/organism/wizard-contents/test/fixtures/playlist-general-settings-create.js.map +1 -0
- package/lib/organism/wizard-contents/test/fixtures/playlist-general-settings-edit.js +45 -0
- package/lib/organism/wizard-contents/test/fixtures/playlist-general-settings-edit.js.map +1 -0
- package/lib/organism/wizard-contents/test/fixtures/playlist-populations-create.js +49 -0
- package/lib/organism/wizard-contents/test/fixtures/playlist-populations-create.js.map +1 -0
- package/lib/organism/wizard-contents/test/fixtures/playlist-translate-edit.js +49 -0
- package/lib/organism/wizard-contents/test/fixtures/playlist-translate-edit.js.map +1 -0
- package/lib/organism/wizard-contents/test/fixtures.js +34 -0
- package/lib/organism/wizard-contents/test/fixtures.js.map +1 -0
- package/lib/template/back-office/brand-update/index.js +9 -1
- package/lib/template/back-office/brand-update/index.js.map +1 -1
- package/lib/template/back-office/brand-update/style.css +3 -15
- package/lib/template/back-office/brand-update/test/fixtures/wizard-add-courses-playlist.js +31 -0
- package/lib/template/back-office/brand-update/test/fixtures/wizard-add-courses-playlist.js.map +1 -0
- package/lib/template/back-office/brand-update/test/fixtures/wizard-form-create-playlist.js +31 -0
- package/lib/template/back-office/brand-update/test/fixtures/wizard-form-create-playlist.js.map +1 -0
- package/lib/template/back-office/brand-update/test/fixtures/wizard-form-edit-playlist.js +33 -0
- package/lib/template/back-office/brand-update/test/fixtures/wizard-form-edit-playlist.js.map +1 -0
- package/lib/template/back-office/brand-update/test/fixtures/wizard-populations-playlist.js +31 -0
- package/lib/template/back-office/brand-update/test/fixtures/wizard-populations-playlist.js.map +1 -0
- package/lib/template/back-office/brand-update/test/fixtures/wizard-translate-playlist.js +31 -0
- package/lib/template/back-office/brand-update/test/fixtures/wizard-translate-playlist.js.map +1 -0
- package/lib/template/back-office/brand-update/test/fixtures.js +15 -3
- package/lib/template/back-office/brand-update/test/fixtures.js.map +1 -1
- package/package.json +2 -2
- package/es/organism/playlist-translation/index.js.map +0 -1
- package/es/organism/playlist-translation/test/fixtures/default.js.map +0 -1
- package/es/organism/playlist-translation/test/fixtures/delete.js.map +0 -1
- package/lib/organism/playlist-translation/index.js.map +0 -1
- package/lib/organism/playlist-translation/test/fixtures/default.js.map +0 -1
- package/lib/organism/playlist-translation/test/fixtures/delete.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/wizard-steps/index.js"],"names":["React","PropTypes","classnames","style","WizardSteps","props","
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/wizard-steps/index.js"],"names":["React","PropTypes","classnames","style","WizardSteps","props","steps","wizard","map","step","index","done","current","label","title","outerDot","dot","container","propTypes","arrayOf","shape","string","bool"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,WAAW,GAAGC,KAAK,IAAI;AAC3B,QAAM;AAACC,IAAAA;AAAD,MAAUD,KAAhB;AAEA,QAAME,MAAM,GAAGD,KAAK,CAACE,GAAN,CAAU,CAACC,IAAD,EAAOC,KAAP,KAAiB;AACxC,wBACE;AACE,MAAA,SAAS,EAAER,UAAU,CAACC,KAAK,CAACM,IAAP,EAAaA,IAAI,CAACE,IAAL,IAAaR,KAAK,CAACQ,IAAhC,EAAsCF,IAAI,CAACG,OAAL,IAAgBT,KAAK,CAACS,OAA5D,CADvB;AAEE,MAAA,GAAG,EAAG,QAAOF,KAAM,EAFrB;AAGE,mBAAWA;AAHb,oBAKE;AAAK,MAAA,SAAS,EAAEP,KAAK,CAACU;AAAtB,oBACE;AAAK,MAAA,SAAS,EAAEV,KAAK,CAACW;AAAtB,OAA8BL,IAAI,CAACK,KAAnC,CADF,CALF,eAQE;AAAK,MAAA,SAAS,EAAEX,KAAK,CAACY;AAAtB,oBACE;AAAK,MAAA,SAAS,EAAEZ,KAAK,CAACa;AAAtB,WADF,CARF,CADF;AAcD,GAfc,CAAf;AAiBA,sBAAO;AAAK,IAAA,SAAS,EAAEb,KAAK,CAACc;AAAtB,KAAkCV,MAAlC,CAAP;AACD,CArBD;;AAuBAH,WAAW,CAACc,SAAZ,2CAAwB;AACtBZ,EAAAA,KAAK,EAAEL,SAAS,CAACkB,OAAV,CACLlB,SAAS,CAACmB,KAAV,CAAgB;AACdN,IAAAA,KAAK,EAAEb,SAAS,CAACoB,MADH;AAEdV,IAAAA,IAAI,EAAEV,SAAS,CAACqB,IAFF;AAGdV,IAAAA,OAAO,EAAEX,SAAS,CAACqB;AAHL,GAAhB,CADK;AADe,CAAxB;AAUA,eAAelB,WAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport style from './style.css';\n\nconst WizardSteps = props => {\n const {steps} = props;\n\n const wizard = steps.map((step, index) => {\n return (\n <div\n className={classnames(style.step, step.done && style.done, step.current && style.current)}\n key={`step-${index}`}\n data-step={index}\n >\n <div className={style.label}>\n <div className={style.title}>{step.title}</div>\n </div>\n <div className={style.outerDot}>\n <div className={style.dot}> </div>\n </div>\n </div>\n );\n });\n\n return <div className={style.container}>{wizard}</div>;\n};\n\nWizardSteps.propTypes = {\n steps: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n done: PropTypes.bool,\n current: PropTypes.bool\n })\n )\n};\n\nexport default WizardSteps;\n"],"file":"index.js"}
|
|
@@ -31,7 +31,6 @@
|
|
|
31
31
|
position: absolute;
|
|
32
32
|
border: 1px solid cm_grey_500;
|
|
33
33
|
display: block;
|
|
34
|
-
z-index: 2;
|
|
35
34
|
left: -50%;
|
|
36
35
|
bottom: 17px;
|
|
37
36
|
content: '';
|
|
@@ -42,7 +41,6 @@
|
|
|
42
41
|
position: absolute;
|
|
43
42
|
border: 1px solid cm_grey_500;
|
|
44
43
|
display: block;
|
|
45
|
-
z-index: 1;
|
|
46
44
|
left: 50%;
|
|
47
45
|
bottom: 17px;
|
|
48
46
|
content: '';
|
|
@@ -63,7 +61,6 @@
|
|
|
63
61
|
border: 1px solid cm_primary_blue;
|
|
64
62
|
bottom: 17px;
|
|
65
63
|
left: 50%;
|
|
66
|
-
z-index: 2;
|
|
67
64
|
position: absolute;
|
|
68
65
|
}
|
|
69
66
|
.step.done:before, .step.current:before {
|
|
@@ -72,7 +69,6 @@
|
|
|
72
69
|
border: 1px solid cm_primary_blue;
|
|
73
70
|
bottom: 17px;
|
|
74
71
|
left: 0px;
|
|
75
|
-
z-index: 2;
|
|
76
72
|
position: absolute;
|
|
77
73
|
}
|
|
78
74
|
|
|
@@ -84,7 +80,6 @@
|
|
|
84
80
|
border-radius: 10px;
|
|
85
81
|
display: inline-block;
|
|
86
82
|
position: relative;
|
|
87
|
-
z-index: 2;
|
|
88
83
|
margin-left: 3px;
|
|
89
84
|
margin-top: 3px;
|
|
90
85
|
border: 1px solid cm_grey_500;
|
|
@@ -118,10 +113,10 @@
|
|
|
118
113
|
border-radius: 18px;
|
|
119
114
|
display: inline-block;
|
|
120
115
|
position: relative;
|
|
121
|
-
z-index: 12;
|
|
122
116
|
margin: 0px auto;
|
|
123
117
|
border: 8px solid white;
|
|
124
118
|
transition: background-color 0.5s linear;
|
|
119
|
+
z-index: 1;
|
|
125
120
|
}
|
|
126
121
|
|
|
127
122
|
.step.done .outerDot, .step.current .outerDot {
|
|
@@ -4,6 +4,10 @@ import renderComponentMacro from '../../../test/helpers/render-component';
|
|
|
4
4
|
import MoleculeBanner from '..';
|
|
5
5
|
import fixtureDefault from './fixtures/default';
|
|
6
6
|
import fixtureErrorBanner from './fixtures/error-banner';
|
|
7
|
+
import fixtureErrorTemporaryBanner from './fixtures/error-temporary-banner';
|
|
8
|
+
import fixtureSuccessBanner from './fixtures/success-banner';
|
|
9
|
+
import fixtureSuccessTemporaryBanner from './fixtures/success-temporary-banner';
|
|
10
|
+
import fixtureWarningTemporaryBanner from './fixtures/warning-temporary-banner';
|
|
7
11
|
test('Molecule › MoleculeBanner > should have valid propTypes', t => {
|
|
8
12
|
t.pass();
|
|
9
13
|
forEach(MoleculeBanner.propTypes, (value, key) => {
|
|
@@ -12,4 +16,8 @@ test('Molecule › MoleculeBanner > should have valid propTypes', t => {
|
|
|
12
16
|
});
|
|
13
17
|
test('Molecule › MoleculeBanner › Default › should be rendered', renderComponentMacro, MoleculeBanner, fixtureDefault);
|
|
14
18
|
test('Molecule › MoleculeBanner › ErrorBanner › should be rendered', renderComponentMacro, MoleculeBanner, fixtureErrorBanner);
|
|
19
|
+
test('Molecule › MoleculeBanner › ErrorTemporaryBanner › should be rendered', renderComponentMacro, MoleculeBanner, fixtureErrorTemporaryBanner);
|
|
20
|
+
test('Molecule › MoleculeBanner › SuccessBanner › should be rendered', renderComponentMacro, MoleculeBanner, fixtureSuccessBanner);
|
|
21
|
+
test('Molecule › MoleculeBanner › SuccessTemporaryBanner › should be rendered', renderComponentMacro, MoleculeBanner, fixtureSuccessTemporaryBanner);
|
|
22
|
+
test('Molecule › MoleculeBanner › WarningTemporaryBanner › should be rendered', renderComponentMacro, MoleculeBanner, fixtureWarningTemporaryBanner);
|
|
15
23
|
//# sourceMappingURL=fixtures.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/molecule/banner/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeBanner","fixtureDefault","fixtureErrorBanner","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,cAAP,MAA2B,IAA3B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;
|
|
1
|
+
{"version":3,"sources":["../../../../src/molecule/banner/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeBanner","fixtureDefault","fixtureErrorBanner","fixtureErrorTemporaryBanner","fixtureSuccessBanner","fixtureSuccessTemporaryBanner","fixtureWarningTemporaryBanner","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,cAAP,MAA2B,IAA3B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;AACA,OAAOC,2BAAP,MAAwC,mCAAxC;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AACA,OAAOC,6BAAP,MAA0C,qCAA1C;AACA,OAAOC,6BAAP,MAA0C,qCAA1C;AAEAT,IAAI,CAAC,yDAAD,EAA4DU,CAAC,IAAI;AACnEA,EAAAA,CAAC,CAACC,IAAF;AACAV,EAAAA,OAAO,CAACE,cAAc,CAACS,SAAhB,EAA2B,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAChDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,mDAAkDF,GAAI,mEAA/E;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAd,IAAI,CAAC,0DAAD,EAA6DE,oBAA7D,EAAmFC,cAAnF,EAAmGC,cAAnG,CAAJ;AACAJ,IAAI,CAAC,8DAAD,EAAiEE,oBAAjE,EAAuFC,cAAvF,EAAuGE,kBAAvG,CAAJ;AACAL,IAAI,CAAC,uEAAD,EAA0EE,oBAA1E,EAAgGC,cAAhG,EAAgHG,2BAAhH,CAAJ;AACAN,IAAI,CAAC,gEAAD,EAAmEE,oBAAnE,EAAyFC,cAAzF,EAAyGI,oBAAzG,CAAJ;AACAP,IAAI,CAAC,yEAAD,EAA4EE,oBAA5E,EAAkGC,cAAlG,EAAkHK,6BAAlH,CAAJ;AACAR,IAAI,CAAC,yEAAD,EAA4EE,oBAA5E,EAAkGC,cAAlG,EAAkHM,6BAAlH,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport MoleculeBanner from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureErrorBanner from './fixtures/error-banner';\nimport fixtureErrorTemporaryBanner from './fixtures/error-temporary-banner';\nimport fixtureSuccessBanner from './fixtures/success-banner';\nimport fixtureSuccessTemporaryBanner from './fixtures/success-temporary-banner';\nimport fixtureWarningTemporaryBanner from './fixtures/warning-temporary-banner';\n\ntest('Molecule › MoleculeBanner > should have valid propTypes', t => {\n t.pass();\n forEach(MoleculeBanner.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Molecule.MoleculeBanner.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Molecule › MoleculeBanner › Default › should be rendered', renderComponentMacro, MoleculeBanner, fixtureDefault);\ntest('Molecule › MoleculeBanner › ErrorBanner › should be rendered', renderComponentMacro, MoleculeBanner, fixtureErrorBanner);\ntest('Molecule › MoleculeBanner › ErrorTemporaryBanner › should be rendered', renderComponentMacro, MoleculeBanner, fixtureErrorTemporaryBanner);\ntest('Molecule › MoleculeBanner › SuccessBanner › should be rendered', renderComponentMacro, MoleculeBanner, fixtureSuccessBanner);\ntest('Molecule › MoleculeBanner › SuccessTemporaryBanner › should be rendered', renderComponentMacro, MoleculeBanner, fixtureSuccessTemporaryBanner);\ntest('Molecule › MoleculeBanner › WarningTemporaryBanner › should be rendered', renderComponentMacro, MoleculeBanner, fixtureWarningTemporaryBanner);\n"],"file":"fixtures.js"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import forEach from 'lodash/forEach';
|
|
3
|
+
import renderComponentMacro from '../../../test/helpers/render-component';
|
|
4
|
+
import MoleculeCockpitPopin from '..';
|
|
5
|
+
import fixtureDefault from './fixtures/default';
|
|
6
|
+
import fixtureLoading from './fixtures/loading';
|
|
7
|
+
import fixtureVideoTranslate from './fixtures/video-translate';
|
|
8
|
+
test('Molecule › MoleculeCockpitPopin > should have valid propTypes', t => {
|
|
9
|
+
t.pass();
|
|
10
|
+
forEach(MoleculeCockpitPopin.propTypes, (value, key) => {
|
|
11
|
+
t.not(value, undefined, `PropType for "Molecule.MoleculeCockpitPopin.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
test('Molecule › MoleculeCockpitPopin › Default › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureDefault);
|
|
15
|
+
test('Molecule › MoleculeCockpitPopin › Loading › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureLoading);
|
|
16
|
+
test('Molecule › MoleculeCockpitPopin › VideoTranslate › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureVideoTranslate);
|
|
17
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/molecule/cockpit-popin/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeCockpitPopin","fixtureDefault","fixtureLoading","fixtureVideoTranslate","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,oBAAP,MAAiC,IAAjC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;AAEAN,IAAI,CAAC,+DAAD,EAAkEO,CAAC,IAAI;AACzEA,EAAAA,CAAC,CAACC,IAAF;AACAP,EAAAA,OAAO,CAACE,oBAAoB,CAACM,SAAtB,EAAiC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACtDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,yDAAwDF,GAAI,mEAArF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAX,IAAI,CAAC,gEAAD,EAAmEE,oBAAnE,EAAyFC,oBAAzF,EAA+GC,cAA/G,CAAJ;AACAJ,IAAI,CAAC,gEAAD,EAAmEE,oBAAnE,EAAyFC,oBAAzF,EAA+GE,cAA/G,CAAJ;AACAL,IAAI,CAAC,uEAAD,EAA0EE,oBAA1E,EAAgGC,oBAAhG,EAAsHG,qBAAtH,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport MoleculeCockpitPopin from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureLoading from './fixtures/loading';\nimport fixtureVideoTranslate from './fixtures/video-translate';\n\ntest('Molecule › MoleculeCockpitPopin > should have valid propTypes', t => {\n t.pass();\n forEach(MoleculeCockpitPopin.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Molecule.MoleculeCockpitPopin.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Molecule › MoleculeCockpitPopin › Default › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureDefault);\ntest('Molecule › MoleculeCockpitPopin › Loading › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureLoading);\ntest('Molecule › MoleculeCockpitPopin › VideoTranslate › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureVideoTranslate);\n"],"file":"fixtures.js"}
|
|
@@ -162,8 +162,8 @@ const SelectMultiple = ({
|
|
|
162
162
|
}), /*#__PURE__*/React.createElement("div", {
|
|
163
163
|
className: style.descriptionLabel
|
|
164
164
|
}, description)) : null) : null;
|
|
165
|
-
const hintView = isCMTheme
|
|
166
|
-
className: style.hint // eslint-disable-next-line react/no-danger
|
|
165
|
+
const hintView = isCMTheme ? /*#__PURE__*/React.createElement("div", {
|
|
166
|
+
className: classnames(style.hint, isActive && style.hideHint) // eslint-disable-next-line react/no-danger
|
|
167
167
|
,
|
|
168
168
|
dangerouslySetInnerHTML: {
|
|
169
169
|
__html: error || hint
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["React","useState","useEffect","useRef","useCallback","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaSolidStatusClose","ErrorIcon","NovaCompositionCoorpacademyInformationIcon","InfoIcon","TitledCheckbox","Provider","Checkbox","getClassState","style","themeStyle","setup","cockpit","sidebar","coorpmanager","useChoices","options","choicesRef","getChoices","current","setChoices","choice","choices","i","selected","filter","c","CMMultipleView","multiple","onChange","handleChange","checked","item","name","SelectMultiple","title","theme","placeholder","description","hint","onError","modified","required","error","disabled","skin","isOpened","updateIsOpened","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","document","addEventListener","removeEventListener","isCMTheme","lines","convert","cap","selection","_title","isActive","titleView","titleWithSelection","noValue","active","infoIconWrapper","infoIcon","descriptionLabel","hintView","__html","mainClass","default","showPlaceholder","behaviourClassName","errorIconView","errorIcon","select","noselection","iconsWrapper","flex","clicked","arrow","down","activeChoices","list","contextTypes","childContextTypes","propTypes","bool","func","string","arrayOf","oneOf"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useRef, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set, keys, isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaSolidStatusClose as ErrorIcon,\n NovaCompositionCoorpacademyInformationIcon as InfoIcon\n} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport Checkbox from '../../atom/input-checkbox';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar,\n coorpmanager: style.coorpmanager\n};\n\nexport const useChoices = options => {\n const choicesRef = useRef(options);\n\n const getChoices = () => {\n return choicesRef.current;\n };\n\n const setChoices = choice => {\n const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n choicesRef.current = choices.filter(c => c.selected);\n };\n\n return [getChoices, setChoices];\n};\n\nconst CMMultipleView = ({multiple, choice, onChange}) => {\n const handleChange = useCallback(\n checked => {\n if (!multiple) {\n return onChange(choice);\n }\n return onChange({...choice, selected: checked});\n },\n [onChange, choice, multiple]\n );\n\n return multiple ? (\n <div className={style.item}>\n <Checkbox\n titleStyle=\"inherit\"\n checked={choice.selected}\n onChange={handleChange}\n noLabelMargins\n title={choice.name}\n />\n </div>\n ) : (\n <span className={style.item} onClick={handleChange} title={choice.name}>\n {choice.name}\n </span>\n );\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n hint,\n multiple,\n onChange,\n onError,\n modified = false,\n required = false,\n error = '',\n disabled = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(\n e => {\n if (disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n },\n [disabled]\n );\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n setChoices(choice);\n\n return onChange(getChoices());\n }\n\n return onChange(choice);\n },\n [multiple, onChange, setChoices, getChoices]\n );\n\n useEffect(() => {\n document.addEventListener('click', closeHandle);\n document.addEventListener('touchstart', closeHandle);\n\n return () => {\n document.removeEventListener('click', closeHandle);\n document.removeEventListener('touchstart', closeHandle);\n };\n }, [closeHandle]);\n\n const isCMTheme = theme === 'coorpmanager';\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li key={i} className={style.choice}>\n {isCMTheme ? (\n <CMMultipleView multiple={multiple} choice={{...choice, i}} onChange={handleChange} />\n ) : (\n <TitledCheckbox\n onToggle={handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n )}\n </li>\n );\n }, options);\n\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const _title = title && `${title}${required ? ' *' : ''}`;\n\n const isActive = isOpened === true;\n\n const titleView = title ? (\n <span\n className={classnames(\n style.title,\n isCMTheme && selection && style.titleWithSelection,\n isCMTheme && isEmpty(selection) && style.noValue,\n isActive && style.active\n )}\n >\n {_title}\n {isCMTheme ? (\n <div className={style.infoIconWrapper}>\n <InfoIcon className={style.infoIcon} />\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n ) : null}\n </span>\n ) : null;\n\n const hintView =\n isCMTheme && !isActive ? (\n <div\n className={style.hint}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: error || hint}}\n />\n ) : null;\n\n const mainClass = theme ? themeStyle[theme] : style.default;\n const showPlaceholder = isCMTheme && isActive;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n const errorIconView = error ? <ErrorIcon onClick={onError} className={style.errorIcon} /> : null;\n\n return (\n <div\n className={classnames(mainClass, behaviourClassName, disabled && style.disabled)}\n ref={nodeRef}\n >\n <label>\n {!isCMTheme && titleView}\n <div className={style.select} title={selection || placeholder} onClick={handleOnClick}>\n {isCMTheme && titleView}\n <span\n className={classnames(\n style.selection,\n isCMTheme && isEmpty(selection) && style.noselection\n )}\n >\n {selection || !isCMTheme || (showPlaceholder && placeholder) || null}\n </span>\n {isCMTheme ? (\n <div className={style.iconsWrapper}>\n <div className={style.flex}>{errorIconView}</div>\n <div className={classnames(style.flex, isActive && style.clicked)}>\n <ArrowDown\n color={black}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n </div>\n ) : (\n <ArrowDown\n color={black}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n )}\n </div>\n <div className={classnames(style.choices, isActive && style.activeChoices)}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n {!isCMTheme ? <div className={style.description}>{description}</div> : null}\n {hintView}\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCMMultipleView.propTypes = {\n multiple: PropTypes.bool,\n choice: TitledCheckbox.propTypes.choice,\n onChange: PropTypes.func\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n hint: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n multiple: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n required: PropTypes.bool,\n error: PropTypes.string,\n theme: PropTypes.oneOf(keys(themeStyle))\n};\n\nexport default SelectMultiple;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["React","useState","useEffect","useRef","useCallback","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaSolidStatusClose","ErrorIcon","NovaCompositionCoorpacademyInformationIcon","InfoIcon","TitledCheckbox","Provider","Checkbox","getClassState","style","themeStyle","setup","cockpit","sidebar","coorpmanager","useChoices","options","choicesRef","getChoices","current","setChoices","choice","choices","i","selected","filter","c","CMMultipleView","multiple","onChange","handleChange","checked","item","name","SelectMultiple","title","theme","placeholder","description","hint","onError","modified","required","error","disabled","skin","isOpened","updateIsOpened","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","document","addEventListener","removeEventListener","isCMTheme","lines","convert","cap","selection","_title","isActive","titleView","titleWithSelection","noValue","active","infoIconWrapper","infoIcon","descriptionLabel","hintView","hideHint","__html","mainClass","default","showPlaceholder","behaviourClassName","errorIconView","errorIcon","select","noselection","iconsWrapper","flex","clicked","arrow","down","activeChoices","list","contextTypes","childContextTypes","propTypes","bool","func","string","arrayOf","oneOf"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useRef, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set, keys, isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaSolidStatusClose as ErrorIcon,\n NovaCompositionCoorpacademyInformationIcon as InfoIcon\n} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport Checkbox from '../../atom/input-checkbox';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar,\n coorpmanager: style.coorpmanager\n};\n\nexport const useChoices = options => {\n const choicesRef = useRef(options);\n\n const getChoices = () => {\n return choicesRef.current;\n };\n\n const setChoices = choice => {\n const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n choicesRef.current = choices.filter(c => c.selected);\n };\n\n return [getChoices, setChoices];\n};\n\nconst CMMultipleView = ({multiple, choice, onChange}) => {\n const handleChange = useCallback(\n checked => {\n if (!multiple) {\n return onChange(choice);\n }\n return onChange({...choice, selected: checked});\n },\n [onChange, choice, multiple]\n );\n\n return multiple ? (\n <div className={style.item}>\n <Checkbox\n titleStyle=\"inherit\"\n checked={choice.selected}\n onChange={handleChange}\n noLabelMargins\n title={choice.name}\n />\n </div>\n ) : (\n <span className={style.item} onClick={handleChange} title={choice.name}>\n {choice.name}\n </span>\n );\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n hint,\n multiple,\n onChange,\n onError,\n modified = false,\n required = false,\n error = '',\n disabled = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(\n e => {\n if (disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n },\n [disabled]\n );\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n setChoices(choice);\n\n return onChange(getChoices());\n }\n\n return onChange(choice);\n },\n [multiple, onChange, setChoices, getChoices]\n );\n\n useEffect(() => {\n document.addEventListener('click', closeHandle);\n document.addEventListener('touchstart', closeHandle);\n\n return () => {\n document.removeEventListener('click', closeHandle);\n document.removeEventListener('touchstart', closeHandle);\n };\n }, [closeHandle]);\n\n const isCMTheme = theme === 'coorpmanager';\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li key={i} className={style.choice}>\n {isCMTheme ? (\n <CMMultipleView multiple={multiple} choice={{...choice, i}} onChange={handleChange} />\n ) : (\n <TitledCheckbox\n onToggle={handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n )}\n </li>\n );\n }, options);\n\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const _title = title && `${title}${required ? ' *' : ''}`;\n\n const isActive = isOpened === true;\n\n const titleView = title ? (\n <span\n className={classnames(\n style.title,\n isCMTheme && selection && style.titleWithSelection,\n isCMTheme && isEmpty(selection) && style.noValue,\n isActive && style.active\n )}\n >\n {_title}\n {isCMTheme ? (\n <div className={style.infoIconWrapper}>\n <InfoIcon className={style.infoIcon} />\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n ) : null}\n </span>\n ) : null;\n\n const hintView = isCMTheme ? (\n <div\n className={classnames(style.hint, isActive && style.hideHint)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: error || hint}}\n />\n ) : null;\n\n const mainClass = theme ? themeStyle[theme] : style.default;\n const showPlaceholder = isCMTheme && isActive;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n const errorIconView = error ? <ErrorIcon onClick={onError} className={style.errorIcon} /> : null;\n\n return (\n <div\n className={classnames(mainClass, behaviourClassName, disabled && style.disabled)}\n ref={nodeRef}\n >\n <label>\n {!isCMTheme && titleView}\n <div className={style.select} title={selection || placeholder} onClick={handleOnClick}>\n {isCMTheme && titleView}\n <span\n className={classnames(\n style.selection,\n isCMTheme && isEmpty(selection) && style.noselection\n )}\n >\n {selection || !isCMTheme || (showPlaceholder && placeholder) || null}\n </span>\n {isCMTheme ? (\n <div className={style.iconsWrapper}>\n <div className={style.flex}>{errorIconView}</div>\n <div className={classnames(style.flex, isActive && style.clicked)}>\n <ArrowDown\n color={black}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n </div>\n ) : (\n <ArrowDown\n color={black}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n )}\n </div>\n <div className={classnames(style.choices, isActive && style.activeChoices)}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n {!isCMTheme ? <div className={style.description}>{description}</div> : null}\n {hintView}\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCMMultipleView.propTypes = {\n multiple: PropTypes.bool,\n choice: TitledCheckbox.propTypes.choice,\n onChange: PropTypes.func\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n hint: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n multiple: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n required: PropTypes.bool,\n error: PropTypes.string,\n theme: PropTypes.oneOf(keys(themeStyle))\n};\n\nexport default SelectMultiple;\n"],"file":"index.js"}
|
|
@@ -6,12 +6,13 @@
|
|
|
6
6
|
@value lightGrey from colors;
|
|
7
7
|
@value negative from colors;
|
|
8
8
|
@value xtraLightGrey from colors;
|
|
9
|
+
@value cm_negative_100 from colors;
|
|
10
|
+
@value cm_grey_100 from colors;
|
|
11
|
+
@value cm_grey_150 from colors;
|
|
12
|
+
@value cm_grey_200 from colors;
|
|
9
13
|
@value cm_grey_400 from colors;
|
|
14
|
+
@value cm_grey_500 from colors;
|
|
10
15
|
@value cm_grey_700 from colors;
|
|
11
|
-
@value cm_grey_200 from colors;
|
|
12
|
-
@value cm_grey_150 from colors;
|
|
13
|
-
@value cm_grey_100 from colors;
|
|
14
|
-
@value cm_negative_100 from colors;
|
|
15
16
|
@value medium from colors;
|
|
16
17
|
@value defaultText from "../../variables/fonts.css";
|
|
17
18
|
|
|
@@ -227,12 +228,14 @@
|
|
|
227
228
|
flex-direction: column;
|
|
228
229
|
justify-content: center;
|
|
229
230
|
border-radius: 8px;
|
|
231
|
+
line-height: 31px;
|
|
230
232
|
width: 100%;
|
|
231
233
|
font-size: 14px;
|
|
232
234
|
color: black;
|
|
233
235
|
height: 44px;
|
|
234
236
|
padding: 11px 85px 11px 16px;
|
|
235
237
|
background-color: cm_grey_100;
|
|
238
|
+
overflow: visible;
|
|
236
239
|
}
|
|
237
240
|
|
|
238
241
|
.coorpmanager .select .title {
|
|
@@ -265,7 +268,7 @@
|
|
|
265
268
|
font-weight: 500;
|
|
266
269
|
transition: all 0.25s ease;
|
|
267
270
|
line-height: 20px;
|
|
268
|
-
margin:
|
|
271
|
+
margin: 0 0 -10px 0;
|
|
269
272
|
text-overflow: ellipsis;
|
|
270
273
|
white-space: nowrap;
|
|
271
274
|
overflow: hidden;
|
|
@@ -277,6 +280,10 @@
|
|
|
277
280
|
font-weight: 500;
|
|
278
281
|
}
|
|
279
282
|
|
|
283
|
+
.coorpmanager .select .title.noValue {
|
|
284
|
+
font-weight: 500;
|
|
285
|
+
}
|
|
286
|
+
|
|
280
287
|
.coorpmanager .select .title.noValue.active,
|
|
281
288
|
.coorpmanager .select .title.titleWithSelection {
|
|
282
289
|
font-size: 10px;
|
|
@@ -310,8 +317,6 @@
|
|
|
310
317
|
|
|
311
318
|
.coorpmanager .infoIconWrapper {
|
|
312
319
|
overflow: visible;
|
|
313
|
-
height: 12px;
|
|
314
|
-
margin: 0 4px;
|
|
315
320
|
cursor: pointer;
|
|
316
321
|
pointer-events: fill;
|
|
317
322
|
position: relative;
|
|
@@ -319,16 +324,16 @@
|
|
|
319
324
|
|
|
320
325
|
.coorpmanager .infoIcon {
|
|
321
326
|
cursor: pointer;
|
|
322
|
-
width:
|
|
327
|
+
width: 10px;
|
|
328
|
+
height: 10px;
|
|
323
329
|
margin: 4px 4px 0 4px;
|
|
324
|
-
height: 8px;
|
|
325
330
|
line-height: 16px;
|
|
326
331
|
color: cm_grey_400;
|
|
327
332
|
transition: all 0.25s linear;
|
|
328
333
|
}
|
|
329
334
|
|
|
330
335
|
.coorpmanager .select .title.noValue .infoIcon {
|
|
331
|
-
color:
|
|
336
|
+
color: cm_grey_500;
|
|
332
337
|
}
|
|
333
338
|
|
|
334
339
|
.coorpmanager .select .title.noValue.active .infoIcon,
|
|
@@ -344,7 +349,6 @@
|
|
|
344
349
|
|
|
345
350
|
.coorpmanager .descriptionLabel {
|
|
346
351
|
margin: 0 1px 18px 0;
|
|
347
|
-
padding: 8px 16px;
|
|
348
352
|
border-radius: 7px;
|
|
349
353
|
background-color: cm_grey_700;
|
|
350
354
|
flex-grow: 0;
|
|
@@ -357,14 +361,21 @@
|
|
|
357
361
|
letter-spacing: normal;
|
|
358
362
|
text-align: center;
|
|
359
363
|
color: white;
|
|
364
|
+
padding: 8px 16px;
|
|
360
365
|
max-width: 200px;
|
|
361
366
|
position: absolute;
|
|
362
|
-
left: -
|
|
363
|
-
z-index:
|
|
364
|
-
bottom:
|
|
367
|
+
left: -20px;
|
|
368
|
+
z-index: 999;
|
|
369
|
+
bottom: 18px;
|
|
365
370
|
width: max-content;
|
|
366
371
|
visibility: hidden;
|
|
367
|
-
opacity:
|
|
372
|
+
opacity: 0;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.coorpmanager .title.titleWithSelection .descriptionLabel,
|
|
376
|
+
.coorpmanager .title.noValue.active .descriptionLabel {
|
|
377
|
+
left: -19px;
|
|
378
|
+
bottom: 1px;
|
|
368
379
|
}
|
|
369
380
|
|
|
370
381
|
.coorpmanager .descriptionLabel::after {
|
|
@@ -378,7 +389,7 @@
|
|
|
378
389
|
}
|
|
379
390
|
|
|
380
391
|
.coorpmanager .title.noValue .descriptionLabel::after {
|
|
381
|
-
left:
|
|
392
|
+
left: 22px;
|
|
382
393
|
}
|
|
383
394
|
|
|
384
395
|
.coorpmanager:focus-within .title.noValue .descriptionLabel::after {
|
|
@@ -399,6 +410,8 @@
|
|
|
399
410
|
width: 44px;
|
|
400
411
|
height: 44px;
|
|
401
412
|
display: flex;
|
|
413
|
+
border-top-right-radius: 8px;
|
|
414
|
+
border-bottom-right-radius: 8px;
|
|
402
415
|
justify-content: center;
|
|
403
416
|
align-items: center;
|
|
404
417
|
}
|
|
@@ -484,3 +497,7 @@
|
|
|
484
497
|
.coorpmanager.disabled .arrow {
|
|
485
498
|
opacity: 0.5;
|
|
486
499
|
}
|
|
500
|
+
|
|
501
|
+
.coorpmanager .hideHint {
|
|
502
|
+
visibility: hidden;
|
|
503
|
+
}
|
|
@@ -2,6 +2,10 @@ import test from 'ava';
|
|
|
2
2
|
import forEach from 'lodash/forEach';
|
|
3
3
|
import renderComponentMacro from '../../../test/helpers/render-component';
|
|
4
4
|
import MoleculeSelectMultiple from '..';
|
|
5
|
+
import fixtureCheckedCmThemeDisabled from './fixtures/checked-cm-theme-disabled';
|
|
6
|
+
import fixtureCheckedCmThemeError from './fixtures/checked-cm-theme-error';
|
|
7
|
+
import fixtureCheckedCmThemeMultiple from './fixtures/checked-cm-theme-multiple';
|
|
8
|
+
import fixtureCheckedCmTheme from './fixtures/checked-cm-theme';
|
|
5
9
|
import fixtureCheckedCockpitTheme from './fixtures/checked-cockpit-theme';
|
|
6
10
|
import fixtureCheckedSetupTheme from './fixtures/checked-setup-theme';
|
|
7
11
|
import fixtureChecked from './fixtures/checked';
|
|
@@ -14,6 +18,10 @@ test('Molecule › MoleculeSelectMultiple > should have valid propTypes', t => {
|
|
|
14
18
|
t.not(value, undefined, `PropType for "Molecule.MoleculeSelectMultiple.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
|
|
15
19
|
});
|
|
16
20
|
});
|
|
21
|
+
test('Molecule › MoleculeSelectMultiple › CheckedCmThemeDisabled › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedCmThemeDisabled);
|
|
22
|
+
test('Molecule › MoleculeSelectMultiple › CheckedCmThemeError › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedCmThemeError);
|
|
23
|
+
test('Molecule › MoleculeSelectMultiple › CheckedCmThemeMultiple › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedCmThemeMultiple);
|
|
24
|
+
test('Molecule › MoleculeSelectMultiple › CheckedCmTheme › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedCmTheme);
|
|
17
25
|
test('Molecule › MoleculeSelectMultiple › CheckedCockpitTheme › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedCockpitTheme);
|
|
18
26
|
test('Molecule › MoleculeSelectMultiple › CheckedSetupTheme › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedSetupTheme);
|
|
19
27
|
test('Molecule › MoleculeSelectMultiple › Checked › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureChecked);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/molecule/select-multiple/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeSelectMultiple","fixtureCheckedCockpitTheme","fixtureCheckedSetupTheme","fixtureChecked","fixtureDefault","fixtureSetupThemeError","fixtureSetupTheme","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,sBAAP,MAAmC,IAAnC;AACA,OAAOC,0BAAP,MAAuC,kCAAvC;AACA,OAAOC,wBAAP,MAAqC,gCAArC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,sBAAP,MAAmC,8BAAnC;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;
|
|
1
|
+
{"version":3,"sources":["../../../../src/molecule/select-multiple/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeSelectMultiple","fixtureCheckedCmThemeDisabled","fixtureCheckedCmThemeError","fixtureCheckedCmThemeMultiple","fixtureCheckedCmTheme","fixtureCheckedCockpitTheme","fixtureCheckedSetupTheme","fixtureChecked","fixtureDefault","fixtureSetupThemeError","fixtureSetupTheme","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,sBAAP,MAAmC,IAAnC;AACA,OAAOC,6BAAP,MAA0C,sCAA1C;AACA,OAAOC,0BAAP,MAAuC,mCAAvC;AACA,OAAOC,6BAAP,MAA0C,sCAA1C;AACA,OAAOC,qBAAP,MAAkC,6BAAlC;AACA,OAAOC,0BAAP,MAAuC,kCAAvC;AACA,OAAOC,wBAAP,MAAqC,gCAArC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,sBAAP,MAAmC,8BAAnC;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AAEAb,IAAI,CAAC,iEAAD,EAAoEc,CAAC,IAAI;AAC3EA,EAAAA,CAAC,CAACC,IAAF;AACAd,EAAAA,OAAO,CAACE,sBAAsB,CAACa,SAAxB,EAAmC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACxDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,2DAA0DF,GAAI,mEAAvF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAlB,IAAI,CAAC,iFAAD,EAAoFE,oBAApF,EAA0GC,sBAA1G,EAAkIC,6BAAlI,CAAJ;AACAJ,IAAI,CAAC,8EAAD,EAAiFE,oBAAjF,EAAuGC,sBAAvG,EAA+HE,0BAA/H,CAAJ;AACAL,IAAI,CAAC,iFAAD,EAAoFE,oBAApF,EAA0GC,sBAA1G,EAAkIG,6BAAlI,CAAJ;AACAN,IAAI,CAAC,yEAAD,EAA4EE,oBAA5E,EAAkGC,sBAAlG,EAA0HI,qBAA1H,CAAJ;AACAP,IAAI,CAAC,8EAAD,EAAiFE,oBAAjF,EAAuGC,sBAAvG,EAA+HK,0BAA/H,CAAJ;AACAR,IAAI,CAAC,4EAAD,EAA+EE,oBAA/E,EAAqGC,sBAArG,EAA6HM,wBAA7H,CAAJ;AACAT,IAAI,CAAC,kEAAD,EAAqEE,oBAArE,EAA2FC,sBAA3F,EAAmHO,cAAnH,CAAJ;AACAV,IAAI,CAAC,kEAAD,EAAqEE,oBAArE,EAA2FC,sBAA3F,EAAmHQ,cAAnH,CAAJ;AACAX,IAAI,CAAC,0EAAD,EAA6EE,oBAA7E,EAAmGC,sBAAnG,EAA2HS,sBAA3H,CAAJ;AACAZ,IAAI,CAAC,qEAAD,EAAwEE,oBAAxE,EAA8FC,sBAA9F,EAAsHU,iBAAtH,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport MoleculeSelectMultiple from '..';\nimport fixtureCheckedCmThemeDisabled from './fixtures/checked-cm-theme-disabled';\nimport fixtureCheckedCmThemeError from './fixtures/checked-cm-theme-error';\nimport fixtureCheckedCmThemeMultiple from './fixtures/checked-cm-theme-multiple';\nimport fixtureCheckedCmTheme from './fixtures/checked-cm-theme';\nimport fixtureCheckedCockpitTheme from './fixtures/checked-cockpit-theme';\nimport fixtureCheckedSetupTheme from './fixtures/checked-setup-theme';\nimport fixtureChecked from './fixtures/checked';\nimport fixtureDefault from './fixtures/default';\nimport fixtureSetupThemeError from './fixtures/setup-theme-error';\nimport fixtureSetupTheme from './fixtures/setup-theme';\n\ntest('Molecule › MoleculeSelectMultiple > should have valid propTypes', t => {\n t.pass();\n forEach(MoleculeSelectMultiple.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Molecule.MoleculeSelectMultiple.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Molecule › MoleculeSelectMultiple › CheckedCmThemeDisabled › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedCmThemeDisabled);\ntest('Molecule › MoleculeSelectMultiple › CheckedCmThemeError › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedCmThemeError);\ntest('Molecule › MoleculeSelectMultiple › CheckedCmThemeMultiple › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedCmThemeMultiple);\ntest('Molecule › MoleculeSelectMultiple › CheckedCmTheme › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedCmTheme);\ntest('Molecule › MoleculeSelectMultiple › CheckedCockpitTheme › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedCockpitTheme);\ntest('Molecule › MoleculeSelectMultiple › CheckedSetupTheme › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureCheckedSetupTheme);\ntest('Molecule › MoleculeSelectMultiple › Checked › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureChecked);\ntest('Molecule › MoleculeSelectMultiple › Default › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureDefault);\ntest('Molecule › MoleculeSelectMultiple › SetupThemeError › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureSetupThemeError);\ntest('Molecule › MoleculeSelectMultiple › SetupTheme › should be rendered', renderComponentMacro, MoleculeSelectMultiple, fixtureSetupTheme);\n"],"file":"fixtures.js"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _uniqueId from "lodash/fp/uniqueId";
|
|
1
2
|
import React, { useMemo } from 'react';
|
|
2
3
|
import PropTypes from 'prop-types';
|
|
3
4
|
import classnames from 'classnames';
|
|
@@ -137,7 +138,9 @@ const WizardSummary = props => {
|
|
|
137
138
|
action
|
|
138
139
|
} = props;
|
|
139
140
|
const sectionsView = buildSections(sections);
|
|
140
|
-
|
|
141
|
+
|
|
142
|
+
const idSwitch = _uniqueId('open-summary-wizard');
|
|
143
|
+
|
|
141
144
|
return /*#__PURE__*/React.createElement("div", {
|
|
142
145
|
className: style.container
|
|
143
146
|
}, /*#__PURE__*/React.createElement("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/wizard-summary/index.js"],"names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDownIcon","ContentBadge","ButtonLink","style","buildItemsOfSection","items","map","item","index","type","title","value","category","label","author","unsaved","contentWrapper","contentCounter","contentItem","content","contentTitle","__html","text","valueSimpleText","buildSectionHeader","section","counterText","sectionHeader","buildSections","sections","itemsView","sectionWrapper","BuildAction","action","onClick","icon","ariaLabel","handleClick","buttonProps","position","button","WizardSummary","props","sectionsView","idSwitch","container","desktopSummaryTitle","checkbox","summary","tabletSummaryHeader","tabletSummaryTitle","tabletSummaryIcon","summarySections","actionZone","propTypes","shape","string","func","arrayOf","oneOfType","bool","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {NovaCompositionNavigationArrowDown as ArrowDownIcon} from '@coorpacademy/nova-icons';\nimport ContentBadge from '../../atom/content-badge';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\n\nconst buildItemsOfSection = items => {\n return items.map((item, index) => {\n const {type} = item;\n switch (type) {\n case 'mainElement':\n return (\n <li key={`${item.title}-${index}`}>\n <span className={style.title}>{item.title}</span>\n <span className={style.value}>{item.value}</span>\n </li>\n );\n case 'content': {\n const {category, label, title, author, unsaved = false} = item;\n return (\n <li className={style.contentWrapper} key={`${title}-${index}`}>\n <span className={style.contentCounter}>{index + 1}</span>\n <div className={style.contentItem}>\n <div className={style.content}>\n <ContentBadge category={category} label={label} />\n <span\n className={classnames(style.contentTitle, unsaved && style.unsaved)}\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n {author ? <span className={style.author}>{author}</span> : null}\n </div>\n </li>\n );\n }\n case 'text':\n default: {\n const {text, unsaved = false} = item;\n return (\n <li key={`${item.text}-${index}`}>\n <span className={classnames(style.valueSimpleText, unsaved && style.unsaved)}>\n {text}\n </span>\n </li>\n );\n }\n }\n });\n};\n\nconst buildSectionHeader = section => {\n const {title, counterText} = section;\n if (!title) {\n return null;\n }\n return (\n <div className={style.sectionHeader}>\n <span className={style.title}>{title}</span>\n {counterText ? <span className={style.counterText}>{counterText}</span> : null}\n </div>\n );\n};\n\nconst buildSections = sections => {\n return sections.map((section, index) => {\n const sectionHeader = buildSectionHeader(section);\n const itemsView = buildItemsOfSection(section.items);\n return (\n <div key={`summary-section-${index}`} data-step={index} className={style.sectionWrapper}>\n {sectionHeader}\n <ul>{itemsView}</ul>\n </div>\n );\n });\n};\n\nconst BuildAction = ({action}) => {\n const {onClick, text, icon, 'aria-label': ariaLabel} = action;\n const handleClick = useMemo(() => () => onClick(), [onClick]);\n\n if (!action) return null;\n\n const buttonProps = {\n type: 'text',\n label: text,\n 'aria-label': ariaLabel,\n 'data-name': `${icon}-button`,\n onClick: handleClick,\n icon: {\n position: 'left',\n type: icon\n }\n };\n\n return (\n <div className={style.button}>\n <ButtonLink {...buttonProps} />\n </div>\n );\n};\n\nconst WizardSummary = props => {\n const {title, sections, action} = props;\n const sectionsView = buildSections(sections);\n const idSwitch = 'open-summary-wizard';\n\n return (\n <div className={style.container}>\n <span className={style.desktopSummaryTitle}>{title}</span>\n <input\n type=\"checkbox\"\n id={idSwitch}\n name=\"toogle\"\n title={idSwitch}\n className={style.checkbox}\n />\n <div className={style.summary}>\n <div className={style.tabletSummaryHeader}>\n <label htmlFor={idSwitch}>\n <span className={style.tabletSummaryTitle}>{title}</span>\n <ArrowDownIcon className={style.tabletSummaryIcon} />\n </label>\n </div>\n <div className={style.summarySections}>{sectionsView}</div>\n </div>\n <div className={style.actionZone}>\n <BuildAction action={action} />\n </div>\n </div>\n );\n};\n\nBuildAction.propTypes = {\n action: PropTypes.shape({\n icon: PropTypes.string,\n text: PropTypes.string,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n};\n\nWizardSummary.propTypes = {\n title: PropTypes.string,\n sections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n items: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n type: PropTypes.string,\n title: PropTypes.string,\n value: PropTypes.string\n }),\n PropTypes.shape({\n type: PropTypes.string,\n text: PropTypes.string,\n unsaved: PropTypes.bool\n }),\n PropTypes.shape({\n type: PropTypes.string,\n category: PropTypes.oneOf([\n 'base',\n 'advanced',\n 'coach',\n 'chapter',\n 'scorm',\n 'video',\n 'article',\n 'podcast'\n ]),\n title: PropTypes.string,\n label: PropTypes.string,\n author: PropTypes.string,\n unsaved: PropTypes.bool\n })\n ])\n ),\n counterText: PropTypes.string\n })\n ),\n action: BuildAction.propTypes.action\n};\n\nexport default WizardSummary;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/wizard-summary/index.js"],"names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDownIcon","ContentBadge","ButtonLink","style","buildItemsOfSection","items","map","item","index","type","title","value","category","label","author","unsaved","contentWrapper","contentCounter","contentItem","content","contentTitle","__html","text","valueSimpleText","buildSectionHeader","section","counterText","sectionHeader","buildSections","sections","itemsView","sectionWrapper","BuildAction","action","onClick","icon","ariaLabel","handleClick","buttonProps","position","button","WizardSummary","props","sectionsView","idSwitch","container","desktopSummaryTitle","checkbox","summary","tabletSummaryHeader","tabletSummaryTitle","tabletSummaryIcon","summarySections","actionZone","propTypes","shape","string","func","arrayOf","oneOfType","bool","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {uniqueId} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDownIcon} from '@coorpacademy/nova-icons';\nimport ContentBadge from '../../atom/content-badge';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\n\nconst buildItemsOfSection = items => {\n return items.map((item, index) => {\n const {type} = item;\n switch (type) {\n case 'mainElement':\n return (\n <li key={`${item.title}-${index}`}>\n <span className={style.title}>{item.title}</span>\n <span className={style.value}>{item.value}</span>\n </li>\n );\n case 'content': {\n const {category, label, title, author, unsaved = false} = item;\n return (\n <li className={style.contentWrapper} key={`${title}-${index}`}>\n <span className={style.contentCounter}>{index + 1}</span>\n <div className={style.contentItem}>\n <div className={style.content}>\n <ContentBadge category={category} label={label} />\n <span\n className={classnames(style.contentTitle, unsaved && style.unsaved)}\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n {author ? <span className={style.author}>{author}</span> : null}\n </div>\n </li>\n );\n }\n case 'text':\n default: {\n const {text, unsaved = false} = item;\n return (\n <li key={`${item.text}-${index}`}>\n <span className={classnames(style.valueSimpleText, unsaved && style.unsaved)}>\n {text}\n </span>\n </li>\n );\n }\n }\n });\n};\n\nconst buildSectionHeader = section => {\n const {title, counterText} = section;\n if (!title) {\n return null;\n }\n return (\n <div className={style.sectionHeader}>\n <span className={style.title}>{title}</span>\n {counterText ? <span className={style.counterText}>{counterText}</span> : null}\n </div>\n );\n};\n\nconst buildSections = sections => {\n return sections.map((section, index) => {\n const sectionHeader = buildSectionHeader(section);\n const itemsView = buildItemsOfSection(section.items);\n return (\n <div key={`summary-section-${index}`} data-step={index} className={style.sectionWrapper}>\n {sectionHeader}\n <ul>{itemsView}</ul>\n </div>\n );\n });\n};\n\nconst BuildAction = ({action}) => {\n const {onClick, text, icon, 'aria-label': ariaLabel} = action;\n const handleClick = useMemo(() => () => onClick(), [onClick]);\n\n if (!action) return null;\n\n const buttonProps = {\n type: 'text',\n label: text,\n 'aria-label': ariaLabel,\n 'data-name': `${icon}-button`,\n onClick: handleClick,\n icon: {\n position: 'left',\n type: icon\n }\n };\n\n return (\n <div className={style.button}>\n <ButtonLink {...buttonProps} />\n </div>\n );\n};\n\nconst WizardSummary = props => {\n const {title, sections, action} = props;\n const sectionsView = buildSections(sections);\n const idSwitch = uniqueId('open-summary-wizard');\n\n return (\n <div className={style.container}>\n <span className={style.desktopSummaryTitle}>{title}</span>\n <input\n type=\"checkbox\"\n id={idSwitch}\n name=\"toogle\"\n title={idSwitch}\n className={style.checkbox}\n />\n <div className={style.summary}>\n <div className={style.tabletSummaryHeader}>\n <label htmlFor={idSwitch}>\n <span className={style.tabletSummaryTitle}>{title}</span>\n <ArrowDownIcon className={style.tabletSummaryIcon} />\n </label>\n </div>\n <div className={style.summarySections}>{sectionsView}</div>\n </div>\n <div className={style.actionZone}>\n <BuildAction action={action} />\n </div>\n </div>\n );\n};\n\nBuildAction.propTypes = {\n action: PropTypes.shape({\n icon: PropTypes.string,\n text: PropTypes.string,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n};\n\nWizardSummary.propTypes = {\n title: PropTypes.string,\n sections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n items: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n type: PropTypes.string,\n title: PropTypes.string,\n value: PropTypes.string\n }),\n PropTypes.shape({\n type: PropTypes.string,\n text: PropTypes.string,\n unsaved: PropTypes.bool\n }),\n PropTypes.shape({\n type: PropTypes.string,\n category: PropTypes.oneOf([\n 'base',\n 'advanced',\n 'coach',\n 'chapter',\n 'scorm',\n 'video',\n 'article',\n 'podcast'\n ]),\n title: PropTypes.string,\n label: PropTypes.string,\n author: PropTypes.string,\n unsaved: PropTypes.bool\n })\n ])\n ),\n counterText: PropTypes.string\n })\n ),\n action: BuildAction.propTypes.action\n};\n\nexport default WizardSummary;\n"],"file":"index.js"}
|
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
@value lightBlack from colors;
|
|
13
13
|
@value cm_yellow_200 from colors;
|
|
14
14
|
@value cm_tablet from breakpoints;
|
|
15
|
+
@value desktop from breakpoints;
|
|
15
16
|
|
|
16
17
|
.container {
|
|
17
18
|
font-family: Gilroy;
|
|
18
|
-
width:
|
|
19
|
+
width: calc(100% - 74px);
|
|
19
20
|
border-radius: 7px;
|
|
20
21
|
background-color: cm_grey_50;
|
|
21
22
|
padding: 40px 37px 32px 37px;
|
|
@@ -165,16 +166,19 @@ ul {
|
|
|
165
166
|
color: cm_primary_blue;
|
|
166
167
|
}
|
|
167
168
|
|
|
168
|
-
@media cm_tablet {
|
|
169
|
+
@media desktop, cm_tablet {
|
|
169
170
|
.container {
|
|
170
171
|
background-color: transparent;
|
|
171
|
-
width:
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
width: 100%;
|
|
173
|
+
height: 100%;
|
|
174
|
+
left: 0;
|
|
175
|
+
right: 0;
|
|
176
|
+
bottom: 0;
|
|
174
177
|
flex-direction: row;
|
|
175
178
|
align-items: flex-end;
|
|
176
|
-
padding:
|
|
177
|
-
margin:
|
|
179
|
+
padding: 0;
|
|
180
|
+
margin: 0;
|
|
181
|
+
position: relative;
|
|
178
182
|
}
|
|
179
183
|
|
|
180
184
|
.desktopSummaryTitle {
|
|
@@ -194,7 +198,9 @@ ul {
|
|
|
194
198
|
background-color: cm_grey_50;
|
|
195
199
|
border-radius: 7px;
|
|
196
200
|
height: 20px;
|
|
201
|
+
max-height: 20px;
|
|
197
202
|
padding: 12px 24px 12px 24px;
|
|
203
|
+
box-shadow: 0 -6px 42px -14px rgba(0, 0, 0, 0);
|
|
198
204
|
transition: all 0.5s ease;
|
|
199
205
|
}
|
|
200
206
|
|
|
@@ -228,11 +234,15 @@ ul {
|
|
|
228
234
|
|
|
229
235
|
.checkbox:checked + .summary {
|
|
230
236
|
height: 65%;
|
|
231
|
-
|
|
237
|
+
max-height: 1000px;
|
|
238
|
+
padding: 12px 24px 12px 24px;
|
|
232
239
|
box-shadow: 0 -6px 42px -14px rgba(0, 0, 0, 0.25);
|
|
233
240
|
transition: all 0.5s ease;
|
|
234
241
|
}
|
|
235
242
|
.checkbox:checked + .summary .tabletSummaryIcon {
|
|
236
243
|
transform: rotateZ(180deg);
|
|
237
244
|
}
|
|
245
|
+
.summarySections {
|
|
246
|
+
max-height: 250px;
|
|
247
|
+
}
|
|
238
248
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/molecule/wizard-summary/test/fixtures/three-sections.js"],"names":["props","title","sections","items","type","value","text","counterText","action","icon","onClick","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE,uBADF;AAELC,IAAAA,QAAQ,EAAE,CACR;AACEC,MAAAA,KAAK,EAAE,CACL;AACEC,QAAAA,IAAI,EAAE,aADR;AAEEH,QAAAA,KAAK,EAAE,UAFT;AAGEI,QAAAA,KAAK,EAAE;AAHT,OADK,EAML;AACED,QAAAA,IAAI,EAAE,aADR;AAEEH,QAAAA,KAAK,EAAE,MAFT;AAGEI,QAAAA,KAAK,EAAE;AAHT,OANK;AADT,KADQ,EAeR;AACEJ,MAAAA,KAAK,EAAE,aADT;AAEEE,MAAAA,KAAK,EAAE,CACL;AACEC,QAAAA,IAAI,EAAE,MADR;AAEEE,QAAAA,IAAI,EAAE;AAFR,OADK,EAKL;AACEF,QAAAA,IAAI,EAAE,MADR;AAEEE,QAAAA,IAAI,EAAE;AAFR,OALK,EASL;AACEF,QAAAA,IAAI,EAAE,MADR;AAEEE,QAAAA,IAAI,EAAE;AAFR,OATK;AAFT,KAfQ,EAgCR;AACEL,MAAAA,KAAK,EAAE,aADT;AAEEE,MAAAA,KAAK,EAAE,CACL;AACEC,QAAAA,IAAI,EAAE,MADR;AAEEE,QAAAA,IAAI,EAAE;AAFR,OADK,CAFT;AAQEC,MAAAA,WAAW,EAAE;AARf,KAhCQ,CAFL;AA6CLC,IAAAA,MAAM,EAAE;AACNC,MAAAA,IAAI,EAAE,MADA;AAENH,MAAAA,IAAI,EAAE,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/wizard-summary/test/fixtures/three-sections.js"],"names":["props","title","sections","items","type","value","text","counterText","action","icon","onClick","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE,uBADF;AAELC,IAAAA,QAAQ,EAAE,CACR;AACEC,MAAAA,KAAK,EAAE,CACL;AACEC,QAAAA,IAAI,EAAE,aADR;AAEEH,QAAAA,KAAK,EAAE,UAFT;AAGEI,QAAAA,KAAK,EAAE;AAHT,OADK,EAML;AACED,QAAAA,IAAI,EAAE,aADR;AAEEH,QAAAA,KAAK,EAAE,MAFT;AAGEI,QAAAA,KAAK,EAAE;AAHT,OANK;AADT,KADQ,EAeR;AACEJ,MAAAA,KAAK,EAAE,aADT;AAEEE,MAAAA,KAAK,EAAE,CACL;AACEC,QAAAA,IAAI,EAAE,MADR;AAEEE,QAAAA,IAAI,EAAE;AAFR,OADK,EAKL;AACEF,QAAAA,IAAI,EAAE,MADR;AAEEE,QAAAA,IAAI,EAAE;AAFR,OALK,EASL;AACEF,QAAAA,IAAI,EAAE,MADR;AAEEE,QAAAA,IAAI,EAAE;AAFR,OATK;AAFT,KAfQ,EAgCR;AACEL,MAAAA,KAAK,EAAE,aADT;AAEEE,MAAAA,KAAK,EAAE,CACL;AACEC,QAAAA,IAAI,EAAE,MADR;AAEEE,QAAAA,IAAI,EAAE;AAFR,OADK,CAFT;AAQEC,MAAAA,WAAW,EAAE;AARf,KAhCQ,CAFL;AA6CLC,IAAAA,MAAM,EAAE;AACNC,MAAAA,IAAI,EAAE,MADA;AAENH,MAAAA,IAAI,EAAE,aAFA;AAGN,oBAAc,MAHR;AAINI,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,MAAZ;AAJT;AA7CH;AADM,CAAf","sourcesContent":["export default {\n props: {\n title: 'Certification summary',\n sections: [\n {\n items: [\n {\n type: 'mainElement',\n title: 'Language',\n value: '🇬🇧 English'\n },\n {\n type: 'mainElement',\n title: 'Name',\n value: 'Marketing expert'\n }\n ]\n },\n {\n title: 'Translation',\n items: [\n {\n type: 'text',\n text: '🇫🇷 French'\n },\n {\n type: 'text',\n text: '🇪🇸 Spanish'\n },\n {\n type: 'text',\n text: '🇮🇹 Italian'\n }\n ]\n },\n {\n title: 'Populations',\n items: [\n {\n type: 'text',\n text: 'Population 2'\n }\n ],\n counterText: '1 population'\n }\n ],\n action: {\n icon: 'save',\n text: 'Save & quit',\n 'aria-label': 'Save',\n onClick: () => console.log('save')\n }\n }\n};\n"],"file":"three-sections.js"}
|