@coorpacademy/components 10.3.4 → 10.3.8
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/input-textarea/index.js +2 -2
- package/es/atom/input-textarea/index.js.map +1 -1
- package/es/atom/input-textarea/test/on-change.js +2 -2
- package/es/atom/input-textarea/test/on-change.js.map +1 -1
- package/es/atom/provider/index.js +4 -0
- package/es/atom/provider/index.js.map +1 -1
- package/es/atom/radio-group/index.js +11 -2
- package/es/atom/radio-group/index.js.map +1 -1
- package/es/atom/radio-group/item.css +48 -1
- package/es/atom/radio-group/item.js +12 -3
- package/es/atom/radio-group/item.js.map +1 -1
- package/es/atom/radio-group/style.css +9 -1
- package/es/molecule/brand-form-group/test/fixtures/cm-default.js +29 -5
- package/es/molecule/brand-form-group/test/fixtures/cm-default.js.map +1 -1
- package/es/molecule/bullet-point-menu-button/style.css +0 -1
- package/es/molecule/select-multiple/index.js +1 -0
- package/es/molecule/select-multiple/index.js.map +1 -1
- package/es/molecule/select-multiple/style.css +2 -1
- package/es/organism/content-translation/index.js +2 -2
- package/es/organism/content-translation/index.js.map +1 -1
- package/es/organism/content-translation/test/fixtures/delete.js +1 -1
- package/es/organism/content-translation/test/fixtures/delete.js.map +1 -1
- package/es/organism/playlist-translation/test/fixtures.js +15 -0
- package/es/organism/playlist-translation/test/fixtures.js.map +1 -0
- package/es/template/back-office/brand-list/index.js +7 -2
- package/es/template/back-office/brand-list/index.js.map +1 -1
- package/es/template/back-office/brand-list/style.css +13 -0
- package/es/template/back-office/brand-list/test/fixtures/default.js +15 -0
- package/es/template/back-office/brand-list/test/fixtures/default.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures.js +0 -4
- package/es/template/back-office/brand-update/test/fixtures.js.map +1 -1
- package/lib/atom/input-textarea/index.js +2 -2
- package/lib/atom/input-textarea/index.js.map +1 -1
- package/lib/atom/input-textarea/test/on-change.js +2 -2
- package/lib/atom/input-textarea/test/on-change.js.map +1 -1
- package/lib/atom/provider/index.js +4 -0
- package/lib/atom/provider/index.js.map +1 -1
- package/lib/atom/radio-group/index.js +11 -2
- package/lib/atom/radio-group/index.js.map +1 -1
- package/lib/atom/radio-group/item.css +48 -1
- package/lib/atom/radio-group/item.js +13 -3
- package/lib/atom/radio-group/item.js.map +1 -1
- package/lib/atom/radio-group/style.css +9 -1
- package/lib/molecule/brand-form-group/test/fixtures/cm-default.js +29 -5
- package/lib/molecule/brand-form-group/test/fixtures/cm-default.js.map +1 -1
- package/lib/molecule/bullet-point-menu-button/style.css +0 -1
- package/lib/molecule/select-multiple/index.js +1 -0
- package/lib/molecule/select-multiple/index.js.map +1 -1
- package/lib/molecule/select-multiple/style.css +2 -1
- package/lib/organism/content-translation/index.js +2 -2
- package/lib/organism/content-translation/index.js.map +1 -1
- package/lib/organism/content-translation/test/fixtures/delete.js +1 -1
- package/lib/organism/content-translation/test/fixtures/delete.js.map +1 -1
- package/lib/organism/playlist-translation/test/fixtures.js +25 -0
- package/lib/organism/playlist-translation/test/fixtures.js.map +1 -0
- package/lib/template/back-office/brand-list/index.js +8 -2
- package/lib/template/back-office/brand-list/index.js.map +1 -1
- package/lib/template/back-office/brand-list/style.css +13 -0
- package/lib/template/back-office/brand-list/test/fixtures/default.js +15 -0
- package/lib/template/back-office/brand-list/test/fixtures/default.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures.js +0 -6
- package/lib/template/back-office/brand-update/test/fixtures.js.map +1 -1
- package/locales/hr/global.json +80 -0
- package/package.json +2 -2
- package/es/molecule/cockpit-popin/test/fixtures.js +0 -17
- package/es/molecule/cockpit-popin/test/fixtures.js.map +0 -1
- package/es/molecule/search/test/fixtures.js +0 -15
- package/es/molecule/search/test/fixtures.js.map +0 -1
- package/lib/molecule/cockpit-popin/test/fixtures.js +0 -28
- package/lib/molecule/cockpit-popin/test/fixtures.js.map +0 -1
- package/lib/molecule/search/test/fixtures.js +0 -25
- package/lib/molecule/search/test/fixtures.js.map +0 -1
|
@@ -63,9 +63,9 @@ const InputTextarea = props => {
|
|
|
63
63
|
className: classnames(style.title, _isEmpty(value) && style.noValue)
|
|
64
64
|
}, title, toolTipView), /*#__PURE__*/React.createElement("textarea", {
|
|
65
65
|
name: name,
|
|
66
|
-
|
|
66
|
+
value: value,
|
|
67
67
|
placeholder: placeholder,
|
|
68
|
-
|
|
68
|
+
onChange: handleChange,
|
|
69
69
|
disabled: disabled
|
|
70
70
|
}), errorIconView, validIconView, hintView), descriptionView);
|
|
71
71
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/input-textarea/index.js"],"names":["React","useMemo","PropTypes","classnames","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidStatusClose","ErrorIcon","NovaCompositionCoorpacademyInformationIcon","InfoIcon","getClassState","style","themeStyle","setup","coorpmanager","cockpit","default","InputTextarea","props","title","propsTitle","name","placeholder","value","hint","theme","onChange","error","valid","required","description","disabled","modified","mainClass","className","handleChange","e","target","descriptionView","toolTipView","infoIconWrapper","infoIcon","descriptionLabel","hintView","__html","errorIconView","leftIcon","validIconView","noValue","propTypes","string","bool","oneOf","func"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/input-textarea/index.js"],"names":["React","useMemo","PropTypes","classnames","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidStatusClose","ErrorIcon","NovaCompositionCoorpacademyInformationIcon","InfoIcon","getClassState","style","themeStyle","setup","coorpmanager","cockpit","default","InputTextarea","props","title","propsTitle","name","placeholder","value","hint","theme","onChange","error","valid","required","description","disabled","modified","mainClass","className","handleChange","e","target","descriptionView","toolTipView","infoIconWrapper","infoIcon","descriptionLabel","hintView","__html","errorIconView","leftIcon","validIconView","noValue","propTypes","string","bool","oneOf","func"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {noop, keys, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidStatusClose as ErrorIcon,\n NovaCompositionCoorpacademyInformationIcon as InfoIcon\n} from '@coorpacademy/nova-icons';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n coorpmanager: style.coorpmanager,\n cockpit: style.cockpit,\n default: style.default\n};\nconst InputTextarea = props => {\n const {\n title: propsTitle,\n name,\n placeholder,\n value,\n hint,\n theme = 'default',\n onChange = noop,\n error,\n valid,\n required,\n description,\n disabled,\n modified = false\n } = props;\n\n const title = `${propsTitle}${required ? '* ' : ' '}`;\n const mainClass = themeStyle[theme];\n const className = getClassState(style.default, style.modified, style.error, modified, error);\n const handleChange = useMemo(() => e => onChange(e.target.value), [onChange]);\n\n const descriptionView =\n description && theme !== 'coorpmanager' ? (\n <div className={style.description}>{description}</div>\n ) : null;\n const toolTipView =\n description && theme === 'coorpmanager' ? (\n <div className={style.infoIconWrapper}>\n <InfoIcon className={style.infoIcon} />\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n ) : null;\n const hintView =\n theme === 'coorpmanager' ? (\n <div\n className={style.hint}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: error || hint}}\n />\n ) : null;\n const errorIconView = error ? <ErrorIcon className={style.leftIcon} /> : null;\n const validIconView = valid ? <CheckIcon className={style.leftIcon} /> : null;\n\n return (\n <div className={classnames(mainClass, className, disabled && style.disabled)}>\n <label>\n <span className={classnames(style.title, isEmpty(value) && style.noValue)}>\n {title}\n {toolTipView}\n </span>\n <textarea\n name={name}\n value={value}\n placeholder={placeholder}\n onChange={handleChange}\n disabled={disabled}\n />\n {errorIconView}\n {validIconView}\n {hintView}\n </label>\n {descriptionView}\n </div>\n );\n};\n\nInputTextarea.propTypes = {\n placeholder: PropTypes.string,\n title: PropTypes.string,\n required: PropTypes.bool,\n name: PropTypes.string,\n theme: PropTypes.oneOf(keys(themeStyle)),\n disabled: PropTypes.bool,\n value: PropTypes.string,\n hint: PropTypes.string,\n error: PropTypes.string,\n onChange: PropTypes.func,\n description: PropTypes.string,\n modified: PropTypes.bool,\n valid: PropTypes.bool\n};\nexport default InputTextarea;\n"],"file":"index.js"}
|
|
@@ -23,7 +23,7 @@ test('should call the onChange function with the value of the target', t => {
|
|
|
23
23
|
const wrapper = shallow( /*#__PURE__*/React.createElement(InputTextarea, _extends({}, defaultFixture.props, {
|
|
24
24
|
onChange: onChange
|
|
25
25
|
})));
|
|
26
|
-
wrapper.find('textarea').simulate('
|
|
26
|
+
wrapper.find('textarea').simulate('change', {
|
|
27
27
|
target: {
|
|
28
28
|
value: 'foo'
|
|
29
29
|
}
|
|
@@ -31,7 +31,7 @@ test('should call the onChange function with the value of the target', t => {
|
|
|
31
31
|
});
|
|
32
32
|
test('should not crash if the onChange function has not been specified', t => {
|
|
33
33
|
const wrapper = shallow( /*#__PURE__*/React.createElement(InputTextarea, _omit('onChange', defaultFixture.props)));
|
|
34
|
-
wrapper.find('textarea').simulate('
|
|
34
|
+
wrapper.find('textarea').simulate('change', {
|
|
35
35
|
target: {
|
|
36
36
|
value: 'foo'
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/atom/input-textarea/test/on-change.js"],"names":["browserEnv","test","React","shallow","configure","Adapter","InputTextarea","defaultFixture","adapter","t","plan","onChange","value","is","wrapper","props","find","simulate","target","pass"],"mappings":";;;;AAAA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAAQC,OAAR,EAAiBC,SAAjB,QAAiC,QAAjC;AACA,OAAOC,OAAP,MAAoB,yBAApB;AAEA,OAAOC,aAAP,MAA0B,IAA1B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AAEAP,UAAU;AACVI,SAAS,CAAC;AAACI,EAAAA,OAAO,EAAE,IAAIH,OAAJ;AAAV,CAAD,CAAT;AAEAJ,IAAI,CAAC,gEAAD,EAAmEQ,CAAC,IAAI;AAC1EA,EAAAA,CAAC,CAACC,IAAF,CAAO,CAAP;;AACA,QAAMC,QAAQ,GAAGC,KAAK,IAAI;AACxBH,IAAAA,CAAC,CAACI,EAAF,CAAKD,KAAL,EAAY,KAAZ;AACD,GAFD;;AAGA,QAAME,OAAO,GAAGX,OAAO,eAAC,oBAAC,aAAD,eAAmBI,cAAc,CAACQ,KAAlC;AAAyC,IAAA,QAAQ,EAAEJ;AAAnD,KAAD,CAAvB;AAEAG,EAAAA,OAAO,CAACE,IAAR,CAAa,UAAb,EAAyBC,QAAzB,CAAkC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/atom/input-textarea/test/on-change.js"],"names":["browserEnv","test","React","shallow","configure","Adapter","InputTextarea","defaultFixture","adapter","t","plan","onChange","value","is","wrapper","props","find","simulate","target","pass"],"mappings":";;;;AAAA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAAQC,OAAR,EAAiBC,SAAjB,QAAiC,QAAjC;AACA,OAAOC,OAAP,MAAoB,yBAApB;AAEA,OAAOC,aAAP,MAA0B,IAA1B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AAEAP,UAAU;AACVI,SAAS,CAAC;AAACI,EAAAA,OAAO,EAAE,IAAIH,OAAJ;AAAV,CAAD,CAAT;AAEAJ,IAAI,CAAC,gEAAD,EAAmEQ,CAAC,IAAI;AAC1EA,EAAAA,CAAC,CAACC,IAAF,CAAO,CAAP;;AACA,QAAMC,QAAQ,GAAGC,KAAK,IAAI;AACxBH,IAAAA,CAAC,CAACI,EAAF,CAAKD,KAAL,EAAY,KAAZ;AACD,GAFD;;AAGA,QAAME,OAAO,GAAGX,OAAO,eAAC,oBAAC,aAAD,eAAmBI,cAAc,CAACQ,KAAlC;AAAyC,IAAA,QAAQ,EAAEJ;AAAnD,KAAD,CAAvB;AAEAG,EAAAA,OAAO,CAACE,IAAR,CAAa,UAAb,EAAyBC,QAAzB,CAAkC,QAAlC,EAA4C;AAACC,IAAAA,MAAM,EAAE;AAACN,MAAAA,KAAK,EAAE;AAAR;AAAT,GAA5C;AACD,CARG,CAAJ;AAUAX,IAAI,CAAC,kEAAD,EAAqEQ,CAAC,IAAI;AAC5E,QAAMK,OAAO,GAAGX,OAAO,eAAC,oBAAC,aAAD,EAAmB,MAAK,UAAL,EAAiBI,cAAc,CAACQ,KAAhC,CAAnB,CAAD,CAAvB;AAEAD,EAAAA,OAAO,CAACE,IAAR,CAAa,UAAb,EAAyBC,QAAzB,CAAkC,QAAlC,EAA4C;AAACC,IAAAA,MAAM,EAAE;AAACN,MAAAA,KAAK,EAAE;AAAR;AAAT,GAA5C;AACAH,EAAAA,CAAC,CAACU,IAAF;AACD,CALG,CAAJ","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {shallow, configure} from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport {omit} from 'lodash/fp';\nimport InputTextarea from '..';\nimport defaultFixture from './fixtures/default';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\n\ntest('should call the onChange function with the value of the target', t => {\n t.plan(1);\n const onChange = value => {\n t.is(value, 'foo');\n };\n const wrapper = shallow(<InputTextarea {...defaultFixture.props} onChange={onChange} />);\n\n wrapper.find('textarea').simulate('change', {target: {value: 'foo'}});\n});\n\ntest('should not crash if the onChange function has not been specified', t => {\n const wrapper = shallow(<InputTextarea {...omit('onChange', defaultFixture.props)} />);\n\n wrapper.find('textarea').simulate('change', {target: {value: 'foo'}});\n t.pass();\n});\n"],"file":"on-change.js"}
|
|
@@ -7,6 +7,10 @@ import PropTypes from 'prop-types';
|
|
|
7
7
|
import { SrcPropType, ColorPropType, HexPropType } from '../../util/proptypes';
|
|
8
8
|
const DEFAULT_SKIN = {
|
|
9
9
|
common: {
|
|
10
|
+
good: '#24b694',
|
|
11
|
+
bad: '#ed1c24',
|
|
12
|
+
primary: '#00B0FF',
|
|
13
|
+
life: '#ed1c24',
|
|
10
14
|
brand: '#00B0FF',
|
|
11
15
|
primaryAdd1: '#B3E5FC',
|
|
12
16
|
primaryAdd2: '#0091EA',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/provider/index.js"],"names":["React","PropTypes","SrcPropType","ColorPropType","HexPropType","DEFAULT_SKIN","common","brand","primaryAdd1","primaryAdd2","primaryAdd3","primaryAdd4","xtraLightGrey","light","medium","dark","grey","orangeAdd","orange","positive","lightGreen","negative","battle","white","black","mergeSkin","skin","historyShape","shape","createHref","func","push","skinShape","objectOf","images","logo","login","icons","mod","courses","arrayOf","texts","translateShape","Provider","Component","getDerivedStateFromProps","props","history","translate","constructor","context","Vimeo","state","getChildContext","render","children","Children","only","isRequired","object","propTypes","node"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,WAAR,EAAqBC,aAArB,EAAoCC,WAApC,QAAsD,sBAAtD;AAEA,MAAMC,YAAY,GAAG;AACnBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/provider/index.js"],"names":["React","PropTypes","SrcPropType","ColorPropType","HexPropType","DEFAULT_SKIN","common","good","bad","primary","life","brand","primaryAdd1","primaryAdd2","primaryAdd3","primaryAdd4","xtraLightGrey","light","medium","dark","grey","orangeAdd","orange","positive","lightGreen","negative","battle","white","black","mergeSkin","skin","historyShape","shape","createHref","func","push","skinShape","objectOf","images","logo","login","icons","mod","courses","arrayOf","texts","translateShape","Provider","Component","getDerivedStateFromProps","props","history","translate","constructor","context","Vimeo","state","getChildContext","render","children","Children","only","isRequired","object","propTypes","node"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,WAAR,EAAqBC,aAArB,EAAoCC,WAApC,QAAsD,sBAAtD;AAEA,MAAMC,YAAY,GAAG;AACnBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAE,SADA;AAENC,IAAAA,GAAG,EAAE,SAFC;AAGNC,IAAAA,OAAO,EAAE,SAHH;AAINC,IAAAA,IAAI,EAAE,SAJA;AAKNC,IAAAA,KAAK,EAAE,SALD;AAMNC,IAAAA,WAAW,EAAE,SANP;AAONC,IAAAA,WAAW,EAAE,SAPP;AAQNC,IAAAA,WAAW,EAAE,SARP;AASNC,IAAAA,WAAW,EAAE,SATP;AAUNC,IAAAA,aAAa,EAAE,SAVT;AAWNC,IAAAA,KAAK,EAAE,SAXD;AAYNC,IAAAA,MAAM,EAAE,SAZF;AAaNC,IAAAA,IAAI,EAAE,SAbA;AAcNC,IAAAA,IAAI,EAAE,SAdA;AAeNC,IAAAA,SAAS,EAAE,SAfL;AAgBNC,IAAAA,MAAM,EAAE,SAhBF;AAiBNC,IAAAA,QAAQ,EAAE,SAjBJ;AAkBNC,IAAAA,UAAU,EAAE,SAlBN;AAmBNC,IAAAA,QAAQ,EAAE,SAnBJ;AAoBNC,IAAAA,MAAM,EAAE,SApBF;AAqBNC,IAAAA,KAAK,EAAE,SArBD;AAsBNC,IAAAA,KAAK,EAAE;AAtBD;AADW,CAArB;;AA2BA,MAAMC,SAAS,GAAG,CAACC,IAAI,GAAG,EAAR,KAAe,cAAaA,IAAb,EAAmBzB,YAAnB,CAAjC;;AAEA,MAAM0B,YAAY,GAAG9B,SAAS,CAAC+B,KAAV,CAAgB;AACnCC,EAAAA,UAAU,EAAEhC,SAAS,CAACiC,IADa;AAEnCC,EAAAA,IAAI,EAAElC,SAAS,CAACiC;AAFmB,CAAhB,CAArB;AAKA,MAAME,SAAS,GAAGnC,SAAS,CAAC+B,KAAV,CAAgB;AAChC1B,EAAAA,MAAM,EAAEL,SAAS,CAACoC,QAAV,CAAmBlC,aAAnB,CADwB;AAEhCmC,EAAAA,MAAM,EAAErC,SAAS,CAAC+B,KAAV,CAAgB;AACtB,mBAAe9B,WADO;AAEtBqC,IAAAA,IAAI,EAAErC,WAFgB;AAGtB,kBAAcA,WAHQ;AAItBsC,IAAAA,KAAK,EAAEtC;AAJe,GAAhB,CAFwB;AAQhCuC,EAAAA,KAAK,EAAExC,SAAS,CAACoC,QAAV,CAAmBjC,WAAnB,CARyB;AAShCsC,EAAAA,GAAG,EAAEzC,SAAS,CAACoC,QAAV,CAAmBlC,aAAnB,CAT2B;AAUhCwC,EAAAA,OAAO,EAAE1C,SAAS,CAAC2C,OAAV,CAAkBzC,aAAlB,CAVuB;AAWhC0C,EAAAA,KAAK,EAAE5C,SAAS,CAACoC,QAAV,CAAmBlC,aAAnB;AAXyB,CAAhB,CAAlB;AAcA,MAAM2C,cAAc,GAAG7C,SAAS,CAACiC,IAAjC;;AAEA,MAAMa,QAAN,SAAuB/C,KAAK,CAACgD,SAA7B,CAAuC;AAkBrC,SAAOC,wBAAP,CAAgCC,KAAhC,EAAuC;AACrC,UAAM;AAACC,MAAAA,OAAD;AAAUrB,MAAAA,IAAV;AAAgBsB,MAAAA;AAAhB,QAA6BF,KAAnC;AAEA,WAAO;AACLC,MAAAA,OADK;AAELrB,MAAAA,IAAI,EAAED,SAAS,CAACC,IAAD,CAFV;AAGLsB,MAAAA;AAHK,KAAP;AAKD;;AAEDC,EAAAA,WAAW,CAACH,KAAD,EAAQI,OAAR,EAAiB;AAC1B,UAAMJ,KAAN,EAAaI,OAAb;AACA,UAAM;AAACH,MAAAA,OAAD;AAAUrB,MAAAA,IAAV;AAAgBsB,MAAAA,SAAhB;AAA2BG,MAAAA;AAA3B,QAAoCL,KAA1C,CAF0B,CAG1B;;AACA,SAAKM,KAAL,GAAa;AAACL,MAAAA,OAAD;AAAUrB,MAAAA,IAAI,EAAED,SAAS,CAACC,IAAD,CAAzB;AAAiCsB,MAAAA,SAAjC;AAA4CG,MAAAA;AAA5C,KAAb;AACD;;AAEDE,EAAAA,eAAe,GAAG;AAChB,WAAO,KAAKD,KAAZ;AACD;;AAEDE,EAAAA,MAAM,GAAG;AACP,UAAM;AAACC,MAAAA;AAAD,QAAa,KAAKT,KAAxB;AACA,WAAOlD,KAAK,CAAC4D,QAAN,CAAeC,IAAf,CAAoBF,QAApB,CAAP;AACD;;AA1CoC;;gBAAjCZ,Q,uBAWuB;AACzBI,EAAAA,OAAO,EAAEpB,YADgB;AAEzBD,EAAAA,IAAI,EAAEM,SAFmB;AAGzBgB,EAAAA,SAAS,EAAEN,cAAc,CAACgB,UAHD;AAIzBP,EAAAA,KAAK,EAAEtD,SAAS,CAAC8D;AAJQ,C;;AAXvBhB,Q,CACGiB,S,2CAAY;AACjBb,EAAAA,OAAO,EAAEpB,YADQ;AAEjBD,EAAAA,IAAI,EAAEM,SAFW;AAGjBgB,EAAAA,SAAS,EAAEN,cAHM;AAIjBa,EAAAA,QAAQ,EAAE1D,SAAS,CAACgE,IAAV,CAAeH,UAJR;AAKjBP,EAAAA,KAAK,EAAEtD,SAAS,CAAC+B,KAAV,CAAgB;AACrB1B,IAAAA,MAAM,EAAEL,SAAS,CAACiC;AADG,GAAhB;AALU,C;AA4CrB,eAAea,QAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {defaultsDeep} from 'lodash/fp';\nimport {SrcPropType, ColorPropType, HexPropType} from '../../util/proptypes';\n\nconst DEFAULT_SKIN = {\n common: {\n good: '#24b694',\n bad: '#ed1c24',\n primary: '#00B0FF',\n life: '#ed1c24',\n brand: '#00B0FF',\n primaryAdd1: '#B3E5FC',\n primaryAdd2: '#0091EA',\n primaryAdd3: '#0277BD',\n primaryAdd4: '#015798',\n xtraLightGrey: '#FAFAFA',\n light: '#ECEFF1',\n medium: '#90A4AE',\n dark: '#546E7A',\n grey: '#607D8B',\n orangeAdd: '#FF7043',\n orange: '#FFA000',\n positive: '#3EC483',\n lightGreen: '#66BB6A',\n negative: '#F73F52',\n battle: '#FFE100',\n white: '#FFFFFF',\n black: '#14171A'\n }\n};\n\nconst mergeSkin = (skin = {}) => defaultsDeep(skin, DEFAULT_SKIN);\n\nconst historyShape = PropTypes.shape({\n createHref: PropTypes.func,\n push: PropTypes.func\n});\n\nconst skinShape = PropTypes.shape({\n common: PropTypes.objectOf(ColorPropType),\n images: PropTypes.shape({\n 'logo-mobile': SrcPropType,\n logo: SrcPropType,\n 'logo-email': SrcPropType,\n login: SrcPropType\n }),\n icons: PropTypes.objectOf(HexPropType),\n mod: PropTypes.objectOf(ColorPropType),\n courses: PropTypes.arrayOf(ColorPropType),\n texts: PropTypes.objectOf(ColorPropType)\n});\n\nconst translateShape = PropTypes.func;\n\nclass Provider extends React.Component {\n static propTypes = {\n history: historyShape,\n skin: skinShape,\n translate: translateShape,\n children: PropTypes.node.isRequired,\n Vimeo: PropTypes.shape({\n common: PropTypes.func\n })\n };\n\n static childContextTypes = {\n history: historyShape,\n skin: skinShape,\n translate: translateShape.isRequired,\n Vimeo: PropTypes.object\n };\n\n static getDerivedStateFromProps(props) {\n const {history, skin, translate} = props;\n\n return {\n history,\n skin: mergeSkin(skin),\n translate\n };\n }\n\n constructor(props, context) {\n super(props, context);\n const {history, skin, translate, Vimeo} = props;\n // eslint-disable-next-line react/no-unused-state\n this.state = {history, skin: mergeSkin(skin), translate, Vimeo};\n }\n\n getChildContext() {\n return this.state;\n }\n\n render() {\n const {children} = this.props;\n return React.Children.only(children);\n }\n}\n\nexport default Provider;\n"],"file":"index.js"}
|
|
@@ -9,13 +9,18 @@ import PropTypes from 'prop-types';
|
|
|
9
9
|
import Provider from '../provider';
|
|
10
10
|
import style from './style.css';
|
|
11
11
|
import Item from './item';
|
|
12
|
+
const themeStyle = {
|
|
13
|
+
setup: style.setup,
|
|
14
|
+
coorpmanager: style.coorpmanager
|
|
15
|
+
};
|
|
12
16
|
|
|
13
17
|
const RadioGroup = (props, context) => {
|
|
14
18
|
const {
|
|
15
19
|
list = [],
|
|
16
20
|
onChange,
|
|
17
21
|
color,
|
|
18
|
-
className
|
|
22
|
+
className,
|
|
23
|
+
theme = 'setup'
|
|
19
24
|
} = props;
|
|
20
25
|
const {
|
|
21
26
|
skin
|
|
@@ -23,16 +28,19 @@ const RadioGroup = (props, context) => {
|
|
|
23
28
|
|
|
24
29
|
const borderColor = color || _get('common.primary', skin);
|
|
25
30
|
|
|
31
|
+
const mainClass = themeStyle[theme];
|
|
32
|
+
|
|
26
33
|
const items = _map(itemProps => {
|
|
27
34
|
return /*#__PURE__*/React.createElement(Item, _extends({}, itemProps, {
|
|
28
35
|
color: color,
|
|
36
|
+
theme: theme,
|
|
29
37
|
onChange: onChange,
|
|
30
38
|
key: itemProps.value
|
|
31
39
|
}));
|
|
32
40
|
}, list);
|
|
33
41
|
|
|
34
42
|
return /*#__PURE__*/React.createElement("div", {
|
|
35
|
-
className: classnames([style.container, className]),
|
|
43
|
+
className: classnames([mainClass, style.container, className]),
|
|
36
44
|
style: {
|
|
37
45
|
borderColor
|
|
38
46
|
}
|
|
@@ -44,6 +52,7 @@ RadioGroup.contextTypes = {
|
|
|
44
52
|
};
|
|
45
53
|
RadioGroup.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
46
54
|
color: PropTypes.string,
|
|
55
|
+
theme: PropTypes.string,
|
|
47
56
|
className: PropTypes.string,
|
|
48
57
|
list: PropTypes.arrayOf(PropTypes.shape(Item.propTypes)),
|
|
49
58
|
onChange: PropTypes.func
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/radio-group/index.js"],"names":["classnames","React","PropTypes","Provider","style","Item","RadioGroup","props","context","list","onChange","color","className","skin","borderColor","items","itemProps","value","container","contextTypes","childContextTypes","propTypes","string","arrayOf","shape","func"],"mappings":";;;;;AAAA,OAAOA,UAAP,MAAuB,YAAvB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AAEA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/radio-group/index.js"],"names":["classnames","React","PropTypes","Provider","style","Item","themeStyle","setup","coorpmanager","RadioGroup","props","context","list","onChange","color","className","theme","skin","borderColor","mainClass","items","itemProps","value","container","contextTypes","childContextTypes","propTypes","string","arrayOf","shape","func"],"mappings":";;;;;AAAA,OAAOA,UAAP,MAAuB,YAAvB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AAEA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAMC,UAAU,GAAG;AACjBC,EAAAA,KAAK,EAAEH,KAAK,CAACG,KADI;AAEjBC,EAAAA,YAAY,EAAEJ,KAAK,CAACI;AAFH,CAAnB;;AAKA,MAAMC,UAAU,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACrC,QAAM;AAACC,IAAAA,IAAI,GAAG,EAAR;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA,KAAtB;AAA6BC,IAAAA,SAA7B;AAAwCC,IAAAA,KAAK,GAAG;AAAhD,MAA2DN,KAAjE;AACA,QAAM;AAACO,IAAAA;AAAD,MAASN,OAAf;;AACA,QAAMO,WAAW,GAAGJ,KAAK,IAAI,KAAI,gBAAJ,EAAsBG,IAAtB,CAA7B;;AACA,QAAME,SAAS,GAAGb,UAAU,CAACU,KAAD,CAA5B;;AACA,QAAMI,KAAK,GAAG,KAAIC,SAAS,IAAI;AAC7B,wBACE,oBAAC,IAAD,eAAUA,SAAV;AAAqB,MAAA,KAAK,EAAEP,KAA5B;AAAmC,MAAA,KAAK,EAAEE,KAA1C;AAAiD,MAAA,QAAQ,EAAEH,QAA3D;AAAqE,MAAA,GAAG,EAAEQ,SAAS,CAACC;AAApF,OADF;AAGD,GAJa,EAIXV,IAJW,CAAd;;AAMA,sBACE;AAAK,IAAA,SAAS,EAAEZ,UAAU,CAAC,CAACmB,SAAD,EAAYf,KAAK,CAACmB,SAAlB,EAA6BR,SAA7B,CAAD,CAA1B;AAAqE,IAAA,KAAK,EAAE;AAACG,MAAAA;AAAD;AAA5E,KACGE,KADH,CADF;AAKD,CAhBD;;AAkBAX,UAAU,CAACe,YAAX,GAA0B;AACxBP,EAAAA,IAAI,EAAEd,QAAQ,CAACsB,iBAAT,CAA2BR;AADT,CAA1B;AAIAR,UAAU,CAACiB,SAAX,2CAAuB;AACrBZ,EAAAA,KAAK,EAAEZ,SAAS,CAACyB,MADI;AAErBX,EAAAA,KAAK,EAAEd,SAAS,CAACyB,MAFI;AAGrBZ,EAAAA,SAAS,EAAEb,SAAS,CAACyB,MAHA;AAIrBf,EAAAA,IAAI,EAAEV,SAAS,CAAC0B,OAAV,CAAkB1B,SAAS,CAAC2B,KAAV,CAAgBxB,IAAI,CAACqB,SAArB,CAAlB,CAJe;AAKrBb,EAAAA,QAAQ,EAAEX,SAAS,CAAC4B;AALC,CAAvB;AAQA,eAAerB,UAAf","sourcesContent":["import classnames from 'classnames';\nimport React from 'react';\nimport {get, map} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport Provider from '../provider';\nimport style from './style.css';\n\nimport Item from './item';\n\nconst themeStyle = {\n setup: style.setup,\n coorpmanager: style.coorpmanager\n};\n\nconst RadioGroup = (props, context) => {\n const {list = [], onChange, color, className, theme = 'setup'} = props;\n const {skin} = context;\n const borderColor = color || get('common.primary', skin);\n const mainClass = themeStyle[theme];\n const items = map(itemProps => {\n return (\n <Item {...itemProps} color={color} theme={theme} onChange={onChange} key={itemProps.value} />\n );\n }, list);\n\n return (\n <div className={classnames([mainClass, style.container, className])} style={{borderColor}}>\n {items}\n </div>\n );\n};\n\nRadioGroup.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nRadioGroup.propTypes = {\n color: PropTypes.string,\n theme: PropTypes.string,\n className: PropTypes.string,\n list: PropTypes.arrayOf(PropTypes.shape(Item.propTypes)),\n onChange: PropTypes.func\n};\n\nexport default RadioGroup;\n"],"file":"index.js"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
@value colors: "../../variables/colors.css";
|
|
2
|
+
@value cm_primary_blue from colors;
|
|
3
|
+
@value cm_blue_50 from colors;
|
|
4
|
+
@value cm_grey_400 from colors;
|
|
5
|
+
|
|
6
|
+
|
|
1
7
|
.radio {
|
|
2
8
|
visibility: hidden;
|
|
3
9
|
display: none;
|
|
@@ -6,7 +12,6 @@
|
|
|
6
12
|
.normal {
|
|
7
13
|
flex: 1 1 0;
|
|
8
14
|
line-height: 30px;
|
|
9
|
-
border-right: solid 1px;
|
|
10
15
|
color: white;
|
|
11
16
|
cursor: pointer;
|
|
12
17
|
min-width: 33%;
|
|
@@ -29,8 +34,50 @@
|
|
|
29
34
|
white-space: nowrap;
|
|
30
35
|
text-align: center;
|
|
31
36
|
box-sizing: border-box;
|
|
37
|
+
user-select: none;
|
|
32
38
|
}
|
|
33
39
|
|
|
34
40
|
.normal:last-child {
|
|
35
41
|
border-right-width: 0;
|
|
36
42
|
}
|
|
43
|
+
|
|
44
|
+
.setup.normal{
|
|
45
|
+
border-right: solid 1px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.coorpmanager label {
|
|
49
|
+
flex-grow: 0;
|
|
50
|
+
box-sizing: border-box;;
|
|
51
|
+
font-family: Gilroy;
|
|
52
|
+
font-size: 14px;
|
|
53
|
+
font-weight: bold;
|
|
54
|
+
font-stretch: normal;
|
|
55
|
+
font-style: normal;
|
|
56
|
+
line-height: 1.43;
|
|
57
|
+
letter-spacing: normal;
|
|
58
|
+
text-align: left;
|
|
59
|
+
height: 36px;
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-direction: column;
|
|
62
|
+
justify-content: center;
|
|
63
|
+
align-items: center;
|
|
64
|
+
gap: 8px;
|
|
65
|
+
|
|
66
|
+
border-radius: 5px;
|
|
67
|
+
}
|
|
68
|
+
.coorpmanager.normal{
|
|
69
|
+
border: 0px;
|
|
70
|
+
border-radius: 5px;
|
|
71
|
+
overflow: hidden;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.coorpmanager .label.selected .labelSpan{
|
|
75
|
+
color: cm_primary_blue;
|
|
76
|
+
background-color: cm_blue_50;
|
|
77
|
+
}
|
|
78
|
+
.coorpmanager .labelSpan {
|
|
79
|
+
color: cm_grey_400;
|
|
80
|
+
background-color: transparent;
|
|
81
|
+
padding: 8px 16px;
|
|
82
|
+
transition: color 0.5s linear;
|
|
83
|
+
}
|
|
@@ -4,11 +4,17 @@ import _pipe from "lodash/fp/pipe";
|
|
|
4
4
|
import _get from "lodash/fp/get";
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
|
+
import classNames from 'classnames';
|
|
7
8
|
import Provider from '../provider';
|
|
8
9
|
import style from './item.css';
|
|
9
10
|
|
|
10
11
|
const getTargetValueAndCall = fun => _pipe(_get('target.value'), fun);
|
|
11
12
|
|
|
13
|
+
const themeStyle = {
|
|
14
|
+
setup: style.setup,
|
|
15
|
+
coorpmanager: style.coorpmanager
|
|
16
|
+
};
|
|
17
|
+
|
|
12
18
|
const Item = (props, context) => {
|
|
13
19
|
const idRadioButton = _uniqueId('inputRadioButton');
|
|
14
20
|
|
|
@@ -21,13 +27,15 @@ const Item = (props, context) => {
|
|
|
21
27
|
value,
|
|
22
28
|
checked,
|
|
23
29
|
label,
|
|
24
|
-
onChange = _identity
|
|
30
|
+
onChange = _identity,
|
|
31
|
+
theme
|
|
25
32
|
} = props;
|
|
26
33
|
|
|
27
34
|
const defaultColor = color || _get('common.primary', skin);
|
|
28
35
|
|
|
36
|
+
const mainClass = themeStyle[theme];
|
|
29
37
|
return /*#__PURE__*/React.createElement("div", {
|
|
30
|
-
className: style.normal,
|
|
38
|
+
className: classNames(style.normal, mainClass),
|
|
31
39
|
style: {
|
|
32
40
|
backgroundColor: checked && defaultColor,
|
|
33
41
|
borderRightColor: defaultColor,
|
|
@@ -42,7 +50,7 @@ const Item = (props, context) => {
|
|
|
42
50
|
checked: checked,
|
|
43
51
|
onChange: getTargetValueAndCall(onChange)
|
|
44
52
|
}), /*#__PURE__*/React.createElement("label", {
|
|
45
|
-
className: style.label,
|
|
53
|
+
className: classNames(style.label, checked && style.selected),
|
|
46
54
|
style: {
|
|
47
55
|
color: !checked && defaultColor
|
|
48
56
|
},
|
|
@@ -61,6 +69,7 @@ Item.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
61
69
|
color: PropTypes.string,
|
|
62
70
|
value: PropTypes.string.isRequired,
|
|
63
71
|
name: PropTypes.string,
|
|
72
|
+
theme: PropTypes.string,
|
|
64
73
|
checked: PropTypes.bool,
|
|
65
74
|
label: PropTypes.string,
|
|
66
75
|
onChange: PropTypes.func
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/radio-group/item.js"],"names":["React","PropTypes","Provider","style","getTargetValueAndCall","fun","Item","props","context","idRadioButton","skin","color","name","value","checked","label","onChange","defaultColor","normal","backgroundColor","borderRightColor","radio","labelSpan","contextTypes","childContextTypes","propTypes","string","isRequired","bool","func"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,KAAP,MAAkB,YAAlB;;AAEA,MAAMC,qBAAqB,GAAGC,GAAG,IAAI,MAAK,KAAI,cAAJ,CAAL,EAA0BA,GAA1B,CAArC;;AAEA,MAAMC,IAAI,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAC/B,QAAMC,aAAa,GAAG,UAAS,kBAAT,CAAtB;;AACA,QAAM;AAACC,IAAAA;AAAD,MAASF,OAAf;AACA,QAAM;AAACG,IAAAA,KAAD;AAAQC,IAAAA,IAAR;AAAcC,IAAAA,KAAd;AAAqBC,IAAAA,OAArB;AAA8BC,IAAAA,KAA9B;AAAqCC,IAAAA,QAAQ;
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/radio-group/item.js"],"names":["React","PropTypes","classNames","Provider","style","getTargetValueAndCall","fun","themeStyle","setup","coorpmanager","Item","props","context","idRadioButton","skin","color","name","value","checked","label","onChange","theme","defaultColor","mainClass","normal","backgroundColor","borderRightColor","radio","selected","labelSpan","contextTypes","childContextTypes","propTypes","string","isRequired","bool","func"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,KAAP,MAAkB,YAAlB;;AAEA,MAAMC,qBAAqB,GAAGC,GAAG,IAAI,MAAK,KAAI,cAAJ,CAAL,EAA0BA,GAA1B,CAArC;;AAEA,MAAMC,UAAU,GAAG;AACjBC,EAAAA,KAAK,EAAEJ,KAAK,CAACI,KADI;AAEjBC,EAAAA,YAAY,EAAEL,KAAK,CAACK;AAFH,CAAnB;;AAKA,MAAMC,IAAI,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAC/B,QAAMC,aAAa,GAAG,UAAS,kBAAT,CAAtB;;AACA,QAAM;AAACC,IAAAA;AAAD,MAASF,OAAf;AACA,QAAM;AAACG,IAAAA,KAAD;AAAQC,IAAAA,IAAR;AAAcC,IAAAA,KAAd;AAAqBC,IAAAA,OAArB;AAA8BC,IAAAA,KAA9B;AAAqCC,IAAAA,QAAQ,YAA7C;AAA0DC,IAAAA;AAA1D,MAAmEV,KAAzE;;AACA,QAAMW,YAAY,GAAGP,KAAK,IAAI,KAAI,gBAAJ,EAAsBD,IAAtB,CAA9B;;AACA,QAAMS,SAAS,GAAGhB,UAAU,CAACc,KAAD,CAA5B;AACA,sBACE;AACE,IAAA,SAAS,EAAEnB,UAAU,CAACE,KAAK,CAACoB,MAAP,EAAeD,SAAf,CADvB;AAEE,IAAA,KAAK,EAAE;AACLE,MAAAA,eAAe,EAAEP,OAAO,IAAII,YADvB;AAELI,MAAAA,gBAAgB,EAAEJ,YAFb;AAGLP,MAAAA,KAAK,EAAE,CAACG,OAAD,IAAYI;AAHd;AAFT,kBAQE;AACE,IAAA,IAAI,EAAC,OADP;AAEE,IAAA,EAAE,EAAET,aAFN;AAGE,IAAA,SAAS,EAAET,KAAK,CAACuB,KAHnB;AAIE,IAAA,IAAI,EAAEX,IAJR;AAKE,IAAA,KAAK,EAAEC,KALT;AAME,IAAA,OAAO,EAAEC,OANX;AAOE,IAAA,QAAQ,EAAEb,qBAAqB,CAACe,QAAD;AAPjC,IARF,eAiBE;AACE,IAAA,SAAS,EAAElB,UAAU,CAACE,KAAK,CAACe,KAAP,EAAcD,OAAO,IAAId,KAAK,CAACwB,QAA/B,CADvB;AAEE,IAAA,KAAK,EAAE;AACLb,MAAAA,KAAK,EAAE,CAACG,OAAD,IAAYI;AADd,KAFT;AAKE,IAAA,OAAO,EAAET;AALX,kBAOE;AAAM,IAAA,SAAS,EAAET,KAAK,CAACyB,SAAvB;AAAkC,iBAAY,SAAQZ,KAAM,EAA5D;AAA+D,IAAA,KAAK,EAAEE;AAAtE,KACGA,KADH,CAPF,CAjBF,CADF;AA+BD,CArCD;;AAuCAT,IAAI,CAACoB,YAAL,GAAoB;AAClBhB,EAAAA,IAAI,EAAEX,QAAQ,CAAC4B,iBAAT,CAA2BjB;AADf,CAApB;AAGAJ,IAAI,CAACsB,SAAL,2CAAiB;AACfjB,EAAAA,KAAK,EAAEd,SAAS,CAACgC,MADF;AAEfhB,EAAAA,KAAK,EAAEhB,SAAS,CAACgC,MAAV,CAAiBC,UAFT;AAGflB,EAAAA,IAAI,EAAEf,SAAS,CAACgC,MAHD;AAIfZ,EAAAA,KAAK,EAAEpB,SAAS,CAACgC,MAJF;AAKff,EAAAA,OAAO,EAAEjB,SAAS,CAACkC,IALJ;AAMfhB,EAAAA,KAAK,EAAElB,SAAS,CAACgC,MANF;AAOfb,EAAAA,QAAQ,EAAEnB,SAAS,CAACmC;AAPL,CAAjB;AAUA,eAAe1B,IAAf","sourcesContent":["import React from 'react';\nimport {get, pipe, identity, uniqueId} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Provider from '../provider';\nimport style from './item.css';\n\nconst getTargetValueAndCall = fun => pipe(get('target.value'), fun);\n\nconst themeStyle = {\n setup: style.setup,\n coorpmanager: style.coorpmanager\n};\n\nconst Item = (props, context) => {\n const idRadioButton = uniqueId('inputRadioButton');\n const {skin} = context;\n const {color, name, value, checked, label, onChange = identity, theme} = props;\n const defaultColor = color || get('common.primary', skin);\n const mainClass = themeStyle[theme];\n return (\n <div\n className={classNames(style.normal, mainClass)}\n style={{\n backgroundColor: checked && defaultColor,\n borderRightColor: defaultColor,\n color: !checked && defaultColor\n }}\n >\n <input\n type=\"radio\"\n id={idRadioButton}\n className={style.radio}\n name={name}\n value={value}\n checked={checked}\n onChange={getTargetValueAndCall(onChange)}\n />\n <label\n className={classNames(style.label, checked && style.selected)}\n style={{\n color: !checked && defaultColor\n }}\n htmlFor={idRadioButton}\n >\n <span className={style.labelSpan} data-name={`radio-${value}`} title={label}>\n {label}\n </span>\n </label>\n </div>\n );\n};\n\nItem.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\nItem.propTypes = {\n color: PropTypes.string,\n value: PropTypes.string.isRequired,\n name: PropTypes.string,\n theme: PropTypes.string,\n checked: PropTypes.bool,\n label: PropTypes.string,\n onChange: PropTypes.func\n};\n\nexport default Item;\n"],"file":"item.js"}
|
|
@@ -19,6 +19,35 @@ export default {
|
|
|
19
19
|
description: 'This is the tooltip text',
|
|
20
20
|
type: 'text',
|
|
21
21
|
disabled: true
|
|
22
|
+
}, {
|
|
23
|
+
title: 'Select Multiple',
|
|
24
|
+
value: '',
|
|
25
|
+
hint: 'Required',
|
|
26
|
+
placeholder: 'This is an input',
|
|
27
|
+
description: 'This is the tooltip text',
|
|
28
|
+
type: 'selectMultiple',
|
|
29
|
+
theme: 'coorpmanager',
|
|
30
|
+
size: 'default',
|
|
31
|
+
multiple: false,
|
|
32
|
+
options: [{
|
|
33
|
+
name: '🇬🇧 English',
|
|
34
|
+
value: 'en',
|
|
35
|
+
selected: true
|
|
36
|
+
}, {
|
|
37
|
+
name: '🇩🇪 German',
|
|
38
|
+
value: 'de',
|
|
39
|
+
selected: false
|
|
40
|
+
}, {
|
|
41
|
+
name: '🇹🇭 Thai',
|
|
42
|
+
value: 'th',
|
|
43
|
+
selected: false
|
|
44
|
+
}, {
|
|
45
|
+
name: '🇪🇸 Spanish',
|
|
46
|
+
value: 'es',
|
|
47
|
+
selected: false
|
|
48
|
+
}],
|
|
49
|
+
onChange: value => console.log('onChange', value),
|
|
50
|
+
onError: () => true
|
|
22
51
|
}, {
|
|
23
52
|
title: 'Description',
|
|
24
53
|
value: '',
|
|
@@ -40,11 +69,6 @@ export default {
|
|
|
40
69
|
theme: 'coorpmanager',
|
|
41
70
|
description: 'This is the tooltip text',
|
|
42
71
|
type: 'unknow'
|
|
43
|
-
}, {
|
|
44
|
-
title: 'Select Multiple',
|
|
45
|
-
value: '',
|
|
46
|
-
theme: 'coorpmanager',
|
|
47
|
-
type: 'selectMultiple'
|
|
48
72
|
}]
|
|
49
73
|
}
|
|
50
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/molecule/brand-form-group/test/fixtures/cm-default.js"],"names":["props","title","fields","value","hint","placeholder","theme","description","type","disabled"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE,eADF;AAELC,IAAAA,MAAM,EAAE,CACN;AACED,MAAAA,KAAK,EAAE,aADT;AAEEE,MAAAA,KAAK,EAAE,0BAFT;AAGEC,MAAAA,IAAI,EAAE,2CAHR;AAIEC,MAAAA,WAAW,EAAE,kBAJf;AAKEC,MAAAA,KAAK,EAAE,cALT;AAMEC,MAAAA,WAAW,EAAE,0BANf;AAOEC,MAAAA,IAAI,EAAE,MAPR;AAQEC,MAAAA,QAAQ,EAAE;AARZ,KADM,EAWN;AACER,MAAAA,KAAK,EAAE,eADT;AAEEE,MAAAA,KAAK,EAAE,SAFT;AAGEC,MAAAA,IAAI,EAAE,2CAHR;AAIEC,MAAAA,WAAW,EAAE,kBAJf;AAKEC,MAAAA,KAAK,EAAE,cALT;AAMEC,MAAAA,WAAW,EAAE,0BANf;AAOEC,MAAAA,IAAI,EAAE,MAPR;AAQEC,MAAAA,QAAQ,EAAE;AARZ,KAXM,EAqBN;AACER,MAAAA,KAAK,EAAE,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/brand-form-group/test/fixtures/cm-default.js"],"names":["props","title","fields","value","hint","placeholder","theme","description","type","disabled","size","multiple","options","name","selected","onChange","console","log","onError"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE,eADF;AAELC,IAAAA,MAAM,EAAE,CACN;AACED,MAAAA,KAAK,EAAE,aADT;AAEEE,MAAAA,KAAK,EAAE,0BAFT;AAGEC,MAAAA,IAAI,EAAE,2CAHR;AAIEC,MAAAA,WAAW,EAAE,kBAJf;AAKEC,MAAAA,KAAK,EAAE,cALT;AAMEC,MAAAA,WAAW,EAAE,0BANf;AAOEC,MAAAA,IAAI,EAAE,MAPR;AAQEC,MAAAA,QAAQ,EAAE;AARZ,KADM,EAWN;AACER,MAAAA,KAAK,EAAE,eADT;AAEEE,MAAAA,KAAK,EAAE,SAFT;AAGEC,MAAAA,IAAI,EAAE,2CAHR;AAIEC,MAAAA,WAAW,EAAE,kBAJf;AAKEC,MAAAA,KAAK,EAAE,cALT;AAMEC,MAAAA,WAAW,EAAE,0BANf;AAOEC,MAAAA,IAAI,EAAE,MAPR;AAQEC,MAAAA,QAAQ,EAAE;AARZ,KAXM,EAqBN;AACER,MAAAA,KAAK,EAAE,iBADT;AAEEE,MAAAA,KAAK,EAAE,EAFT;AAGEC,MAAAA,IAAI,EAAE,UAHR;AAIEC,MAAAA,WAAW,EAAE,kBAJf;AAKEE,MAAAA,WAAW,EAAE,0BALf;AAMEC,MAAAA,IAAI,EAAE,gBANR;AAOEF,MAAAA,KAAK,EAAE,cAPT;AAQEI,MAAAA,IAAI,EAAE,SARR;AASEC,MAAAA,QAAQ,EAAE,KATZ;AAUEC,MAAAA,OAAO,EAAE,CACP;AACEC,QAAAA,IAAI,EAAE,cADR;AAEEV,QAAAA,KAAK,EAAE,IAFT;AAGEW,QAAAA,QAAQ,EAAE;AAHZ,OADO,EAMP;AACED,QAAAA,IAAI,EAAE,aADR;AAEEV,QAAAA,KAAK,EAAE,IAFT;AAGEW,QAAAA,QAAQ,EAAE;AAHZ,OANO,EAWP;AACED,QAAAA,IAAI,EAAE,WADR;AAEEV,QAAAA,KAAK,EAAE,IAFT;AAGEW,QAAAA,QAAQ,EAAE;AAHZ,OAXO,EAgBP;AACED,QAAAA,IAAI,EAAE,cADR;AAEEV,QAAAA,KAAK,EAAE,IAFT;AAGEW,QAAAA,QAAQ,EAAE;AAHZ,OAhBO,CAVX;AAgCEC,MAAAA,QAAQ,EAAEZ,KAAK,IAAIa,OAAO,CAACC,GAAR,CAAY,UAAZ,EAAwBd,KAAxB,CAhCrB;AAiCEe,MAAAA,OAAO,EAAE,MAAM;AAjCjB,KArBM,EAwDN;AACEjB,MAAAA,KAAK,EAAE,aADT;AAEEE,MAAAA,KAAK,EAAE,EAFT;AAGEG,MAAAA,KAAK,EAAE,cAHT;AAIEE,MAAAA,IAAI,EAAE;AAJR,KAxDM,EA8DN;AACEP,MAAAA,KAAK,EAAE,UADT;AAEEE,MAAAA,KAAK,EAAE,EAFT;AAGEC,MAAAA,IAAI,EAAE,2CAHR;AAIEC,MAAAA,WAAW,EAAE,kBAJf;AAKEC,MAAAA,KAAK,EAAE,cALT;AAMEC,MAAAA,WAAW,EAAE,0BANf;AAOEC,MAAAA,IAAI,EAAE;AAPR,KA9DM,EAuEN;AACEP,MAAAA,KAAK,EAAE,eADT;AAEEE,MAAAA,KAAK,EAAE,EAFT;AAGEC,MAAAA,IAAI,EAAE,2CAHR;AAIEC,MAAAA,WAAW,EAAE,kBAJf;AAKEC,MAAAA,KAAK,EAAE,cALT;AAMEC,MAAAA,WAAW,EAAE,0BANf;AAOEC,MAAAA,IAAI,EAAE;AAPR,KAvEM;AAFH;AADM,CAAf","sourcesContent":["export default {\n props: {\n title: 'Platform Name',\n fields: [\n {\n title: 'Domain name',\n value: 'samsung.coorpacademy.com',\n hint: 'Hint <span style=\"color:red;\">10<span>/40',\n placeholder: 'This is an input',\n theme: 'coorpmanager',\n description: 'This is the tooltip text',\n type: 'text',\n disabled: true\n },\n {\n title: 'Platform name',\n value: 'Samsung',\n hint: 'Hint <span style=\"color:red;\">10<span>/40',\n placeholder: 'This is an input',\n theme: 'coorpmanager',\n description: 'This is the tooltip text',\n type: 'text',\n disabled: true\n },\n {\n title: 'Select Multiple',\n value: '',\n hint: 'Required',\n placeholder: 'This is an input',\n description: 'This is the tooltip text',\n type: 'selectMultiple',\n theme: 'coorpmanager',\n size: 'default',\n multiple: false,\n options: [\n {\n name: '🇬🇧 English',\n value: 'en',\n selected: true\n },\n {\n name: '🇩🇪 German',\n value: 'de',\n selected: false\n },\n {\n name: '🇹🇭 Thai',\n value: 'th',\n selected: false\n },\n {\n name: '🇪🇸 Spanish',\n value: 'es',\n selected: false\n }\n ],\n onChange: value => console.log('onChange', value),\n onError: () => true\n },\n {\n title: 'Description',\n value: '',\n theme: 'coorpmanager',\n type: 'html'\n },\n {\n title: 'TextArea',\n value: '',\n hint: 'Hint <span style=\"color:red;\">10<span>/40',\n placeholder: 'This is an input',\n theme: 'coorpmanager',\n description: 'This is the tooltip text',\n type: 'textarea'\n },\n {\n title: 'Default field',\n value: '',\n hint: 'Hint <span style=\"color:red;\">10<span>/40',\n placeholder: 'This is an input',\n theme: 'coorpmanager',\n description: 'This is the tooltip text',\n type: 'unknow'\n }\n ]\n }\n};\n"],"file":"cm-default.js"}
|
|
@@ -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","current","getChoices","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 = {current: 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"}
|
|
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","current","getChoices","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 = {current: 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 updateIsOpened(false);\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"}
|
|
@@ -17,7 +17,7 @@ const buildCtaButton = cta => {
|
|
|
17
17
|
return /*#__PURE__*/React.createElement("div", {
|
|
18
18
|
className: classNames(style.button, style.binButton)
|
|
19
19
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
20
|
-
onClick: cta.
|
|
20
|
+
onClick: cta.handleOnClick,
|
|
21
21
|
type: "text",
|
|
22
22
|
icon: {
|
|
23
23
|
type: 'bin',
|
|
@@ -63,7 +63,7 @@ PlayListTranslation.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
63
63
|
})),
|
|
64
64
|
cta: PropTypes.shape({
|
|
65
65
|
label: PropTypes.string,
|
|
66
|
-
|
|
66
|
+
handleOnClick: PropTypes.func,
|
|
67
67
|
type: PropTypes.oneOf(['delete'])
|
|
68
68
|
}),
|
|
69
69
|
'list-aria-label': PropTypes.string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/organism/content-translation/index.js"],"names":["React","PropTypes","classNames","VerticalLanguageMenu","InputText","TextArea","Button","style","buildCtaButton","cta","button","binButton","
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/content-translation/index.js"],"names":["React","PropTypes","classNames","VerticalLanguageMenu","InputText","TextArea","Button","style","buildCtaButton","cta","button","binButton","handleOnClick","type","position","label","PlayListTranslation","props","languageTabs","inputText","textArea","listAriaLabel","ctaButton","ariaLabel","container","menu","horizontalSection","input","propTypes","tabs","shape","theme","string","func","oneOf"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,oBAAP,MAAiC,8BAAjC;AACA,OAAOC,SAAP,MAAsB,uBAAtB;AACA,OAAOC,QAAP,MAAqB,2BAArB;AACA,OAAOC,MAAP,MAAmB,wBAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,cAAc,GAAGC,GAAG,IAAI;AAC5B,MAAI,CAACA,GAAL,EAAU;AACR;AACD;;AAED,sBACE;AAAK,IAAA,SAAS,EAAEP,UAAU,CAACK,KAAK,CAACG,MAAP,EAAeH,KAAK,CAACI,SAArB;AAA1B,kBACE,oBAAC,MAAD;AACE,IAAA,OAAO,EAAEF,GAAG,CAACG,aADf;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,IAAI,EAAE;AAACC,MAAAA,IAAI,EAAE,KAAP;AAAcC,MAAAA,QAAQ,EAAE;AAAxB,KAHR;AAIE,IAAA,KAAK,EAAEL,GAAG,CAACM;AAJb,IADF,CADF;AAUD,CAfD;;AAiBA,MAAMC,mBAAmB,GAAGC,KAAK,IAAI;AACnC,QAAM;AAACC,IAAAA,YAAD;AAAeC,IAAAA,SAAf;AAA0BC,IAAAA,QAA1B;AAAoCX,IAAAA,GAApC;AAAyC,uBAAmBY;AAA5D,MAA6EJ,KAAnF;AACA,QAAMK,SAAS,GAAGd,cAAc,CAACC,GAAD,CAAhC;AAEA,QAAMc,SAAS,GAAG;AAAC,kBAAcF;AAAf,GAAlB;AACA,sBACE;AAAK,IAAA,SAAS,EAAEd,KAAK,CAACiB;AAAtB,kBACE,oBAAC,oBAAD,eAA0BD,SAA1B;AAAqC,IAAA,SAAS,EAAEhB,KAAK,CAACkB,IAAtD;AAA4D,IAAA,IAAI,EAAEP;AAAlE,KADF,eAEE;AAAK,IAAA,SAAS,EAAEX,KAAK,CAACmB;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEnB,KAAK,CAACoB;AAAtB,kBACE,oBAAC,SAAD,EAAeR,SAAf,CADF,CADF,eAIE;AAAK,IAAA,SAAS,EAAEZ,KAAK,CAACoB;AAAtB,kBACE,oBAAC,QAAD,EAAcP,QAAd,CADF,CAJF,EAOGE,SAPH,CAFF,CADF;AAcD,CAnBD;;AAqBAN,mBAAmB,CAACY,SAApB,2CAAgC;AAC9BV,EAAAA,YAAY,EAAEf,oBAAoB,CAACyB,SAArB,CAA+BC,IADf;AAE9BV,EAAAA,SAAS,EAAElB,SAAS,CAAC6B,KAAV,uBAAoB1B,SAAS,CAACwB,SAA9B;AAAyCG,IAAAA,KAAK,EAAE9B,SAAS,CAAC+B;AAA1D,KAFmB;AAG9BZ,EAAAA,QAAQ,EAAEnB,SAAS,CAAC6B,KAAV,uBAAoBzB,QAAQ,CAACuB,SAA7B;AAAwCG,IAAAA,KAAK,EAAE9B,SAAS,CAAC+B;AAAzD,KAHoB;AAI9BvB,EAAAA,GAAG,EAAER,SAAS,CAAC6B,KAAV,CAAgB;AACnBf,IAAAA,KAAK,EAAEd,SAAS,CAAC+B,MADE;AAEnBpB,IAAAA,aAAa,EAAEX,SAAS,CAACgC,IAFN;AAGnBpB,IAAAA,IAAI,EAAEZ,SAAS,CAACiC,KAAV,CAAgB,CAAC,QAAD,CAAhB;AAHa,GAAhB,CAJyB;AAS9B,qBAAmBjC,SAAS,CAAC+B;AATC,CAAhC;AAYA,eAAehB,mBAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport VerticalLanguageMenu from '../../molecule/vertical-tabs';\nimport InputText from '../../atom/input-text';\nimport TextArea from '../../atom/input-textarea';\nimport Button from '../../atom/button-link';\nimport style from './style.css';\n\nconst buildCtaButton = cta => {\n if (!cta) {\n return;\n }\n\n return (\n <div className={classNames(style.button, style.binButton)}>\n <Button\n onClick={cta.handleOnClick}\n type=\"text\"\n icon={{type: 'bin', position: 'left'}}\n label={cta.label}\n />\n </div>\n );\n};\n\nconst PlayListTranslation = props => {\n const {languageTabs, inputText, textArea, cta, 'list-aria-label': listAriaLabel} = props;\n const ctaButton = buildCtaButton(cta);\n\n const ariaLabel = {'aria-label': listAriaLabel};\n return (\n <div className={style.container}>\n <VerticalLanguageMenu {...ariaLabel} className={style.menu} tabs={languageTabs} />\n <div className={style.horizontalSection}>\n <div className={style.input}>\n <InputText {...inputText} />\n </div>\n <div className={style.input}>\n <TextArea {...textArea} />\n </div>\n {ctaButton}\n </div>\n </div>\n );\n};\n\nPlayListTranslation.propTypes = {\n languageTabs: VerticalLanguageMenu.propTypes.tabs,\n inputText: PropTypes.shape({...InputText.propTypes, theme: PropTypes.string}),\n textArea: PropTypes.shape({...TextArea.propTypes, theme: PropTypes.string}),\n cta: PropTypes.shape({\n label: PropTypes.string,\n handleOnClick: PropTypes.func,\n type: PropTypes.oneOf(['delete'])\n }),\n 'list-aria-label': PropTypes.string\n};\n\nexport default PlayListTranslation;\n"],"file":"index.js"}
|