@coorpacademy/components 10.3.4 → 10.3.5

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.
@@ -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,aADT;AAEEE,MAAAA,KAAK,EAAE,EAFT;AAGEG,MAAAA,KAAK,EAAE,cAHT;AAIEE,MAAAA,IAAI,EAAE;AAJR,KArBM,EA2BN;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,KA3BM,EAoCN;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,KApCM,EA6CN;AACEP,MAAAA,KAAK,EAAE,iBADT;AAEEE,MAAAA,KAAK,EAAE,EAFT;AAGEG,MAAAA,KAAK,EAAE,cAHT;AAIEE,MAAAA,IAAI,EAAE;AAJR,KA7CM;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: '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 title: 'Select Multiple',\n value: '',\n theme: 'coorpmanager',\n type: 'selectMultiple'\n }\n ]\n }\n};\n"],"file":"cm-default.js"}
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"}
@@ -115,6 +115,7 @@ const SelectMultiple = ({
115
115
  return onChange(getChoices());
116
116
  }
117
117
 
118
+ updateIsOpened(false);
118
119
  return onChange(choice);
119
120
  }, [multiple, onChange, setChoices, getChoices]);
120
121
  useEffect(() => {
@@ -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"}
@@ -78,7 +78,8 @@
78
78
  user-select: none;
79
79
  overflow: scroll;
80
80
  max-height: 0;
81
- opacity: 1;
81
+ opacity: 0;
82
+ transition: all 0.25s linear;
82
83
  }
83
84
 
84
85
  .activeChoices {
@@ -23,6 +23,35 @@ var _default = {
23
23
  description: 'This is the tooltip text',
24
24
  type: 'text',
25
25
  disabled: true
26
+ }, {
27
+ title: 'Select Multiple',
28
+ value: '',
29
+ hint: 'Required',
30
+ placeholder: 'This is an input',
31
+ description: 'This is the tooltip text',
32
+ type: 'selectMultiple',
33
+ theme: 'coorpmanager',
34
+ size: 'default',
35
+ multiple: false,
36
+ options: [{
37
+ name: '🇬🇧 English',
38
+ value: 'en',
39
+ selected: true
40
+ }, {
41
+ name: '🇩🇪 German',
42
+ value: 'de',
43
+ selected: false
44
+ }, {
45
+ name: '🇹🇭 Thai',
46
+ value: 'th',
47
+ selected: false
48
+ }, {
49
+ name: '🇪🇸 Spanish',
50
+ value: 'es',
51
+ selected: false
52
+ }],
53
+ onChange: value => console.log('onChange', value),
54
+ onError: () => true
26
55
  }, {
27
56
  title: 'Description',
28
57
  value: '',
@@ -44,11 +73,6 @@ var _default = {
44
73
  theme: 'coorpmanager',
45
74
  description: 'This is the tooltip text',
46
75
  type: 'unknow'
47
- }, {
48
- title: 'Select Multiple',
49
- value: '',
50
- theme: 'coorpmanager',
51
- type: 'selectMultiple'
52
76
  }]
53
77
  }
54
78
  };
@@ -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":";;;;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,aADT;AAEEE,MAAAA,KAAK,EAAE,EAFT;AAGEG,MAAAA,KAAK,EAAE,cAHT;AAIEE,MAAAA,IAAI,EAAE;AAJR,KArBM,EA2BN;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,KA3BM,EAoCN;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,KApCM,EA6CN;AACEP,MAAAA,KAAK,EAAE,iBADT;AAEEE,MAAAA,KAAK,EAAE,EAFT;AAGEG,MAAAA,KAAK,EAAE,cAHT;AAIEE,MAAAA,IAAI,EAAE;AAJR,KA7CM;AAFH;AADM,C","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: '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 title: 'Select Multiple',\n value: '',\n theme: 'coorpmanager',\n type: 'selectMultiple'\n }\n ]\n }\n};\n"],"file":"cm-default.js"}
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":";;;;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,C","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"}
@@ -141,6 +141,7 @@ const SelectMultiple = ({
141
141
  return onChange(getChoices());
142
142
  }
143
143
 
144
+ updateIsOpened(false);
144
145
  return onChange(choice);
145
146
  }, [multiple, onChange, setChoices, getChoices]);
146
147
  (0, _react.useEffect)(() => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["themeStyle","setup","style","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","Provider","childContextTypes","propTypes","PropTypes","bool","TitledCheckbox","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":["themeStyle","setup","style","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","Provider","childContextTypes","propTypes","PropTypes","bool","TitledCheckbox","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"}
@@ -78,7 +78,8 @@
78
78
  user-select: none;
79
79
  overflow: scroll;
80
80
  max-height: 0;
81
- opacity: 1;
81
+ opacity: 0;
82
+ transition: all 0.25s linear;
82
83
  }
83
84
 
84
85
  .activeChoices {
@@ -0,0 +1,80 @@
1
+ {
2
+ "accepted_cards": "Kreditna ili debitna kartica",
3
+ "An Error Occurred": "Došlo je do pogreške",
4
+ "Answer": "Odgovor",
5
+ "At the end of this level, you will be able to_": "Na kraju ove razine moći ćete:",
6
+ "author": "Autor",
7
+ "Back to Dashboard Home": "Povratak na početnu stranicu nadzorne ploče",
8
+ "back_to_catalog": "Povratak na tečajeve",
9
+ "cart_title": "Pretplata na Coorpacademy",
10
+ "challenges you on": "izaziva vas na",
11
+ "is challenging you": "{{username}} vas izaziva {{courseName}}",
12
+ "chapters": "poglavlja",
13
+ "Close": "Zatvoriti",
14
+ "clue_stars_to_loose_plural": "Otključavanje pomoći smanjuje broj zvjezdica koje možete dobiti za ovo pitanje na {{count}} (ako točno odgovorite)",
15
+ "clue_stars_to_loose": "Otključavanje traga smanjuje zvjezdice koje možete dobiti na ovo pitanje do {{count}} (ako dobro shvatite)",
16
+ "confirm_unsubscribe": "Jeste li sigurni da želite otkazati pretplatu?",
17
+ "cookies_details": "Ova mrežna stranica koristi kolačiće kako bismo vam mogli pružiti najbolje iskustvo učenja. Ako želite saznati više o kolačićima koje koristimo i o tome kako koristimo vaše podatke, pročitajte našu",
18
+ "cookies_policy": "Politiku privatnosti i kolačića.",
19
+ "cookies_title": "Kako koristimo kolačiće:",
20
+ "Create a new cohort": "Stvorite novu skupinu",
21
+ "Delete": "Izbrišite",
22
+ "Draft": "Nacrt",
23
+ "Edit": "Uredite",
24
+ "external_content_article": "ČLANAK",
25
+ "external_content_scorm": "INTERAKTIVNI SLAJDOVI",
26
+ "external_content_video": "VIDEO",
27
+ "external_content_podcast": "PODCAST",
28
+ "keep_subscription": "Zadrži moju pretplatu",
29
+ "media_stars_to_win_plural": "Osvojite {{count}} dodatnih zvjezdica u ovom poglavlju kada prvi put pogledate lekciju!",
30
+ "media_stars_to_win": "Osvojite {{count}} dodatnu zvjezdicu u ovom poglavlju kada prvi put pogledate lekciju!",
31
+ "More": "Više",
32
+ "New media": "Nova lekcija",
33
+ "No Selected Dashboard": "Nema odabrane nadzorne ploče",
34
+ "No status": "Nema statusa",
35
+ "Ok": "U redu",
36
+ "Open": "Otvorite",
37
+ "payment_form_submit": "Aktivirajte pretplatu na Coorpacademy",
38
+ "Post": "Objavite",
39
+ "premium_unsubscribe_confirmation": "Potvrđujemo otkazivanje vaše pretplate koja će stupiti na snagu od sljedećeg mjeseca. U međuvremenu možete nastaviti uživati u našem sadržaju na platformi Coorpacademy.",
40
+ "product_cancel": "Otkažite u bilo kojem trenutku.",
41
+ "product_desc_battle": "Dvoboji",
42
+ "product_desc_certificates": "Coorpacademy potvrde",
43
+ "product_desc_coach": "Online mentori",
44
+ "product_desc_culture": "Digitalna kultura: sve razine završene",
45
+ "product_desc_forum": "Forum",
46
+ "product_desc_partnership": "Svi tečajevi usavršavanja naših partnera",
47
+ "Put back": "Vratite natrag",
48
+ "Reject": "Odbiti",
49
+ "Reload": "Ponovno učitajte",
50
+ "Review lesson": "Pregledajte lekciju",
51
+ "secured_payment": "Sigurni poslužitelj",
52
+ "See clue": "Vidite pomoć za pitanje",
53
+ "See less": "Vidite manje",
54
+ "See lesson": "Vidite lekciju",
55
+ "Select a dashboard in the Sidebar": "Odaberite nadzornu ploču na bočnoj traci",
56
+ "Show more": "Prikažite više",
57
+ "Show": "Pokazati",
58
+ "Start battle": "Započnite dvoboj",
59
+ "subscription_disclaimer": "Suglasni ste da ćete odmah dobiti pristup Coorpacademy Premium “à la carte”. Također ste suglasni da će vam biti naplaćena prva faktura od datuma transakcije do kraja mjeseca. Nakon toga će vam biti naplaćeno prvog dana svakog mjeseca.",
60
+ "subscription_freemium_button": "Pokrenite Coorpacademy Premium",
61
+ "subscription_freemium_description": "Trenutno koristite Coorpacademy Freemium. Nudimo mnogo bolju uslugu pod nazivom Coorpacademy Premium. Uz ovu uslugu, možete pristupiti svim tečajevima i svim razinama, zainteresirani?",
62
+ "subscription_freemium_title": "Coorpacademy Freemium",
63
+ "subscription_premium_description_part1": "Vaša pretplata će se automatski obnoviti",
64
+ "subscription_premium_description_part2": ". Bit će vam naplaćen iznos od",
65
+ "subscription_premium_description_part3_with_link": "otkazati pretplatu?",
66
+ "subscription_premium_description_part3": "Želite li",
67
+ "subscription_premium_title": "Coorpacademy Premium",
68
+ "subscription_price": "${currency}${price} uklj. poreza mjesečno",
69
+ "subscription_promo_code": "Sada imate besplatan neograničen pristup našem katalogu do {{date}}. Da biste nastavili uživati i nakon ovog datuma, pretplatite se na",
70
+ "This message has been removed by its author": "Ovu poruku uklonio je njezin autor.",
71
+ "unsubscribe": "Otkažite pretplatu na Coorpacademy",
72
+ "Validated": "Potvrđeno",
73
+ "Video Loading Error": "Došlo je do pogreške prilikom učitavanja videa, pokušajte ponovno.",
74
+ "Wait_creation": "Platforma je u izradi. To može potrajati nekoliko sekundi. Molimo pričekajte...",
75
+ "Write something here": "Napišite nešto",
76
+ "zuora_discount_code_submit": "Prijavite se",
77
+ "zuora_discount_code": "Promotivni kod",
78
+ "mandatory_fields": "*Obavezna polja",
79
+ "something_went_wrong": "Ajoj! Nešto je pošlo po zlu."
80
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "10.3.4",
3
+ "version": "10.3.5",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -119,5 +119,5 @@
119
119
  "webpack-hot-middleware": "^2.25.0"
120
120
  },
121
121
  "author": "CoorpAcademy",
122
- "gitHead": "f9bb3dd2880126cabc506cb901a12c220ebf0b11"
122
+ "gitHead": "5df1cb7d645e6b7c80a3eb7f9a0a70258649e1ba"
123
123
  }