@coorpacademy/components 10.3.4-alpha.0 → 10.3.4-alpha.1
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.
|
@@ -108,8 +108,8 @@ const SelectMultiple = ({
|
|
|
108
108
|
if (multiple) {
|
|
109
109
|
const _choices = _set(`[${choice.i}].selected`, !choice.selected, choices);
|
|
110
110
|
|
|
111
|
-
|
|
112
|
-
return
|
|
111
|
+
onChange(_choices);
|
|
112
|
+
return setChoices(_choices);
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
return onChange(choice);
|
|
@@ -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","CMMultipleView","multiple","choice","onChange","handleChange","checked","selected","item","name","SelectMultiple","title","options","theme","placeholder","description","hint","onError","modified","required","error","disabled","skin","isOpened","updateIsOpened","choices","setChoices","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","current","contains","target","_choices","i","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\n// export const useChoices = options => {\n// const [choices, _setChoices] = useState(options);\n\n// const getChoices = () => {\n// return choices;\n// };\n\n// const setChoices = choice => {\n// const _choices = set(`${choice.i}.selected`, !choice.selected, getChoices());\n\n// console.log(JSON.stringify({choice, _choices}, null, 2));\n// // choices.filter(c => c.selected);\n// _setChoices(getChoices().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 [choices, setChoices] = useState(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 const _choices = set(`[${choice.i}].selected`, !choice.selected, choices);\n setChoices(_choices);\n\n return onChange(choices);\n }\n\n return onChange(choice);\n },\n [choices, multiple, onChange]\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","CMMultipleView","multiple","choice","onChange","handleChange","checked","selected","item","name","SelectMultiple","title","options","theme","placeholder","description","hint","onError","modified","required","error","disabled","skin","isOpened","updateIsOpened","choices","setChoices","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","current","contains","target","_choices","i","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":";;;;;;;;;;;AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,EAAoCC,MAApC,EAA4CC,WAA5C,QAA8D,OAA9D;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,kCAAkC,IAAIC,SADxC,EAEEC,oBAAoB,IAAIC,SAF1B,EAGEC,0CAA0C,IAAIC,QAHhD,QAIO,0BAJP;AAKA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,QAAP,MAAqB,2BAArB;AACA,OAAOC,aAAP,MAA0B,4BAA1B;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,UAAU,GAAG;AACjBC,EAAAA,KAAK,EAAEF,KAAK,CAACE,KADI;AAEjBC,EAAAA,OAAO,EAAEH,KAAK,CAACG,OAFE;AAGjBC,EAAAA,OAAO,EAAEJ,KAAK,CAACI,OAHE;AAIjBC,EAAAA,YAAY,EAAEL,KAAK,CAACK;AAJH,CAAnB,C,CAOA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;;AAEA,MAAMC,cAAc,GAAG,CAAC;AAACC,EAAAA,QAAD;AAAWC,EAAAA,MAAX;AAAmBC,EAAAA;AAAnB,CAAD,KAAkC;AACvD,QAAMC,YAAY,GAAGvB,WAAW,CAC9BwB,OAAO,IAAI;AACT,QAAI,CAACJ,QAAL,EAAe;AACb,aAAOE,QAAQ,CAACD,MAAD,CAAf;AACD;;AACD,WAAOC,QAAQ,uBAAKD,MAAL;AAAaI,MAAAA,QAAQ,EAAED;AAAvB,OAAf;AACD,GAN6B,EAO9B,CAACF,QAAD,EAAWD,MAAX,EAAmBD,QAAnB,CAP8B,CAAhC;AAUA,SAAOA,QAAQ,gBACb;AAAK,IAAA,SAAS,EAAEP,KAAK,CAACa;AAAtB,kBACE,oBAAC,QAAD;AACE,IAAA,UAAU,EAAC,SADb;AAEE,IAAA,OAAO,EAAEL,MAAM,CAACI,QAFlB;AAGE,IAAA,QAAQ,EAAEF,YAHZ;AAIE,IAAA,cAAc,MAJhB;AAKE,IAAA,KAAK,EAAEF,MAAM,CAACM;AALhB,IADF,CADa,gBAWb;AAAM,IAAA,SAAS,EAAEd,KAAK,CAACa,IAAvB;AAA6B,IAAA,OAAO,EAAEH,YAAtC;AAAoD,IAAA,KAAK,EAAEF,MAAM,CAACM;AAAlE,KACGN,MAAM,CAACM,IADV,CAXF;AAeD,CA1BD;;AA4BA,MAAMC,cAAc,GAAG,CACrB;AACEC,EAAAA,KADF;AAEEC,EAAAA,OAFF;AAGEC,EAAAA,KAHF;AAIEC,EAAAA,WAJF;AAKEC,EAAAA,WALF;AAMEC,EAAAA,IANF;AAOEd,EAAAA,QAPF;AAQEE,EAAAA,QARF;AASEa,EAAAA,OATF;AAUEC,EAAAA,QAAQ,GAAG,KAVb;AAWEC,EAAAA,QAAQ,GAAG,KAXb;AAYEC,EAAAA,KAAK,GAAG,EAZV;AAaEC,EAAAA,QAAQ,GAAG;AAbb,CADqB,EAgBrB;AAACC,EAAAA;AAAD,CAhBqB,KAiBlB;AACH,QAAM,CAACC,QAAD,EAAWC,cAAX,IAA6B7C,QAAQ,CAAC,KAAD,CAA3C;AACA,QAAM,CAAC8C,OAAD,EAAUC,UAAV,IAAwB/C,QAAQ,CAACiC,OAAD,CAAtC;AACA,QAAMe,OAAO,GAAG9C,MAAM,CAAC,IAAD,CAAtB;;AAEA,QAAM+C,YAAY,GAAG,KAAI,gBAAJ,EAAsBN,IAAtB,CAArB;;AACA,QAAMO,KAAK,GAAG,KAAI,cAAJ,EAAoBP,IAApB,CAAd;;AAEA,QAAMQ,aAAa,GAAGhD,WAAW,CAC/BiD,CAAC,IAAI;AACH,QAAIV,QAAJ,EAAc;AAEdU,IAAAA,CAAC,CAACC,cAAF;AACAD,IAAAA,CAAC,CAACE,eAAF;AAEAT,IAAAA,cAAc,CAACU,IAAI,IAAI,CAACA,IAAV,CAAd;AACD,GAR8B,EAS/B,CAACb,QAAD,CAT+B,CAAjC;AAYA,QAAMc,WAAW,GAAGrD,WAAW,CAACiD,CAAC,IAAI;AACnC,QAAIJ,OAAO,IAAIA,OAAO,CAACS,OAAnB,IAA8B,CAACT,OAAO,CAACS,OAAR,CAAgBC,QAAhB,CAAyBN,CAAC,CAACO,MAA3B,CAAnC,EAAuE;AACrEd,MAAAA,cAAc,CAAC,KAAD,CAAd;AACD;AACF,GAJ8B,EAI5B,EAJ4B,CAA/B;AAMA,QAAMnB,YAAY,GAAGvB,WAAW,CAC9BqB,MAAM,IAAI;AACR;AACA;AACA,QAAID,QAAJ,EAAc;AACZ,YAAMqC,QAAQ,GAAG,KAAK,IAAGpC,MAAM,CAACqC,CAAE,YAAjB,EAA8B,CAACrC,MAAM,CAACI,QAAtC,EAAgDkB,OAAhD,CAAjB;;AACArB,MAAAA,QAAQ,CAACmC,QAAD,CAAR;AACA,aAAOb,UAAU,CAACa,QAAD,CAAjB;AACD;;AAED,WAAOnC,QAAQ,CAACD,MAAD,CAAf;AACD,GAX6B,EAY9B,CAACsB,OAAD,EAAUvB,QAAV,EAAoBE,QAApB,CAZ8B,CAAhC;AAeAxB,EAAAA,SAAS,CAAC,MAAM;AACd6D,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCP,WAAnC;AACAM,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwCP,WAAxC;AAEA,WAAO,MAAM;AACXM,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCR,WAAtC;AACAM,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,YAA7B,EAA2CR,WAA3C;AACD,KAHD;AAID,GARQ,EAQN,CAACA,WAAD,CARM,CAAT;AAUA,QAAMS,SAAS,GAAG/B,KAAK,KAAK,cAA5B;;AAEA,QAAMgC,KAAK,GAAG,KAAIC,OAAJ,CAAY;AAACC,IAAAA,GAAG,EAAE;AAAN,GAAZ,EAA0B,CAAC5C,MAAD,EAASqC,CAAT,KAAe;AACrD,wBACE;AAAI,MAAA,GAAG,EAAEA,CAAT;AAAY,MAAA,SAAS,EAAE7C,KAAK,CAACQ;AAA7B,OACGyC,SAAS,gBACR,oBAAC,cAAD;AAAgB,MAAA,QAAQ,EAAE1C,QAA1B;AAAoC,MAAA,MAAM,wBAAMC,MAAN;AAAcqC,QAAAA;AAAd,QAA1C;AAA4D,MAAA,QAAQ,EAAEnC;AAAtE,MADQ,gBAGR,oBAAC,cAAD;AACE,MAAA,QAAQ,EAAEA,YADZ;AAEE,MAAA,MAAM,wBAAMF,MAAN;AAAcqC,QAAAA;AAAd,QAFR;AAGE,MAAA,UAAU,EAAEZ;AAHd,MAJJ,CADF;AAaD,GAda,EAcXhB,OAdW,CAAd;;AAgBA,QAAMoC,SAAS,GAAG,MAAK,QAAO;AAACzC,IAAAA,QAAQ,EAAE;AAAX,GAAP,CAAL,EAA+B,KAAI,MAAJ,CAA/B,EAA4C,MAAK,IAAL,CAA5C,EAAwDK,OAAxD,CAAlB;;AAEA,QAAMqC,MAAM,GAAGtC,KAAK,IAAK,GAAEA,KAAM,GAAEQ,QAAQ,GAAG,IAAH,GAAU,EAAG,EAAxD;;AAEA,QAAM+B,QAAQ,GAAG3B,QAAQ,KAAK,IAA9B;AAEA,QAAM4B,SAAS,GAAGxC,KAAK,gBACrB;AACE,IAAA,SAAS,EAAE3B,UAAU,CACnBW,KAAK,CAACgB,KADa,EAEnBiC,SAAS,IAAII,SAAb,IAA0BrD,KAAK,CAACyD,kBAFb,EAGnBR,SAAS,IAAI,SAAQI,SAAR,CAAb,IAAmCrD,KAAK,CAAC0D,OAHtB,EAInBH,QAAQ,IAAIvD,KAAK,CAAC2D,MAJC;AADvB,KAQGL,MARH,EASGL,SAAS,gBACR;AAAK,IAAA,SAAS,EAAEjD,KAAK,CAAC4D;AAAtB,kBACE,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAE5D,KAAK,CAAC6D;AAA3B,IADF,eAEE;AAAK,IAAA,SAAS,EAAE7D,KAAK,CAAC8D;AAAtB,KAAyC1C,WAAzC,CAFF,CADQ,GAKN,IAdN,CADqB,GAiBnB,IAjBJ;AAmBA,QAAM2C,QAAQ,GAAGd,SAAS,gBACxB;AACE,IAAA,SAAS,EAAE5D,UAAU,CAACW,KAAK,CAACqB,IAAP,EAAakC,QAAQ,IAAIvD,KAAK,CAACgE,QAA/B,CADvB,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAExC,KAAK,IAAIJ;AAAlB;AAH3B,IADwB,GAMtB,IANJ;AAQA,QAAM6C,SAAS,GAAGhD,KAAK,GAAGjB,UAAU,CAACiB,KAAD,CAAb,GAAuBlB,KAAK,CAACmE,OAApD;AACA,QAAMC,eAAe,GAAGnB,SAAS,IAAIM,QAArC;AACA,QAAMc,kBAAkB,GAAGtE,aAAa,CACtCC,KAAK,CAACmE,OADgC,EAEtCnE,KAAK,CAACuB,QAFgC,EAGtCvB,KAAK,CAACyB,KAHgC,EAItCF,QAJsC,EAKtCE,KALsC,CAAxC;AAQA,QAAM6C,aAAa,GAAG7C,KAAK,gBAAG,oBAAC,SAAD;AAAW,IAAA,OAAO,EAAEH,OAApB;AAA6B,IAAA,SAAS,EAAEtB,KAAK,CAACuE;AAA9C,IAAH,GAAiE,IAA5F;AAEA,sBACE;AACE,IAAA,SAAS,EAAElF,UAAU,CAAC6E,SAAD,EAAYG,kBAAZ,EAAgC3C,QAAQ,IAAI1B,KAAK,CAAC0B,QAAlD,CADvB;AAEE,IAAA,GAAG,EAAEM;AAFP,kBAIE,mCACG,CAACiB,SAAD,IAAcO,SADjB,eAEE;AAAK,IAAA,SAAS,EAAExD,KAAK,CAACwE,MAAtB;AAA8B,IAAA,KAAK,EAAEnB,SAAS,IAAIlC,WAAlD;AAA+D,IAAA,OAAO,EAAEgB;AAAxE,KACGc,SAAS,IAAIO,SADhB,eAEE;AACE,IAAA,SAAS,EAAEnE,UAAU,CACnBW,KAAK,CAACqD,SADa,EAEnBJ,SAAS,IAAI,SAAQI,SAAR,CAAb,IAAmCrD,KAAK,CAACyE,WAFtB;AADvB,KAMGpB,SAAS,IAAI,CAACJ,SAAd,IAA4BmB,eAAe,IAAIjD,WAA/C,IAA+D,IANlE,CAFF,EAUG8B,SAAS,gBACR;AAAK,IAAA,SAAS,EAAEjD,KAAK,CAAC0E;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAE1E,KAAK,CAAC2E;AAAtB,KAA6BL,aAA7B,CADF,eAEE;AAAK,IAAA,SAAS,EAAEjF,UAAU,CAACW,KAAK,CAAC2E,IAAP,EAAapB,QAAQ,IAAIvD,KAAK,CAAC4E,OAA/B;AAA1B,kBACE,oBAAC,SAAD;AACE,IAAA,KAAK,EAAE1C,KADT;AAEE,IAAA,SAAS,EAAE7C,UAAU,CAACW,KAAK,CAAC6E,KAAP,EAAc;AAAC,OAAC7E,KAAK,CAAC8E,IAAP,GAAcvB;AAAf,KAAd;AAFvB,IADF,CAFF,CADQ,gBAWR,oBAAC,SAAD;AACE,IAAA,KAAK,EAAErB,KADT;AAEE,IAAA,SAAS,EAAE7C,UAAU,CAACW,KAAK,CAAC6E,KAAP,EAAc;AAAC,OAAC7E,KAAK,CAAC8E,IAAP,GAAcvB;AAAf,KAAd;AAFvB,IArBJ,CAFF,eA6BE;AAAK,IAAA,SAAS,EAAElE,UAAU,CAACW,KAAK,CAAC8B,OAAP,EAAgByB,QAAQ,IAAIvD,KAAK,CAAC+E,aAAlC;AAA1B,kBACE;AAAI,IAAA,SAAS,EAAE/E,KAAK,CAACgF;AAArB,KAA4B9B,KAA5B,CADF,CA7BF,CAJF,EAqCG,CAACD,SAAD,gBAAa;AAAK,IAAA,SAAS,EAAEjD,KAAK,CAACoB;AAAtB,KAAoCA,WAApC,CAAb,GAAsE,IArCzE,EAsCG2C,QAtCH,CADF;AA0CD,CA7KD;;AA+KAhD,cAAc,CAACkE,YAAf,GAA8B;AAC5BtD,EAAAA,IAAI,EAAE9B,QAAQ,CAACqF,iBAAT,CAA2BvD;AADL,CAA9B;AAIArB,cAAc,CAAC6E,SAAf,2CAA2B;AACzB5E,EAAAA,QAAQ,EAAEnB,SAAS,CAACgG,IADK;AAEzB5E,EAAAA,MAAM,EAAEZ,cAAc,CAACuF,SAAf,CAAyB3E,MAFR;AAGzBC,EAAAA,QAAQ,EAAErB,SAAS,CAACiG;AAHK,CAA3B;AAMAtE,cAAc,CAACoE,SAAf,2CAA2B;AACzBnE,EAAAA,KAAK,EAAE5B,SAAS,CAACkG,MADQ;AAEzBnE,EAAAA,WAAW,EAAE/B,SAAS,CAACkG,MAFE;AAGzBlE,EAAAA,WAAW,EAAEhC,SAAS,CAACkG,MAHE;AAIzBjE,EAAAA,IAAI,EAAEjC,SAAS,CAACkG,MAJS;AAKzBrE,EAAAA,OAAO,EAAE7B,SAAS,CAACmG,OAAV,CAAkB3F,cAAc,CAACuF,SAAf,CAAyB3E,MAA3C,CALgB;AAMzBC,EAAAA,QAAQ,EAAErB,SAAS,CAACiG,IANK;AAOzB/D,EAAAA,OAAO,EAAElC,SAAS,CAACiG,IAPM;AAQzB9E,EAAAA,QAAQ,EAAEnB,SAAS,CAACgG,IARK;AASzB7D,EAAAA,QAAQ,EAAEnC,SAAS,CAACgG,IATK;AAUzB1D,EAAAA,QAAQ,EAAEtC,SAAS,CAACgG,IAVK;AAWzB5D,EAAAA,QAAQ,EAAEpC,SAAS,CAACgG,IAXK;AAYzB3D,EAAAA,KAAK,EAAErC,SAAS,CAACkG,MAZQ;AAazBpE,EAAAA,KAAK,EAAE9B,SAAS,CAACoG,KAAV,CAAgB,MAAKvF,UAAL,CAAhB;AAbkB,CAA3B;AAgBA,eAAec,cAAf","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\n// export const useChoices = options => {\n// const [choices, _setChoices] = useState(options);\n\n// const getChoices = () => {\n// return choices;\n// };\n\n// const setChoices = choice => {\n// const _choices = set(`${choice.i}.selected`, !choice.selected, getChoices());\n\n// console.log(JSON.stringify({choice, _choices}, null, 2));\n// // choices.filter(c => c.selected);\n// _setChoices(getChoices().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 [choices, setChoices] = useState(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 const _choices = set(`[${choice.i}].selected`, !choice.selected, choices);\n onChange(_choices);\n return setChoices(_choices);\n }\n\n return onChange(choice);\n },\n [choices, multiple, onChange]\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"}
|
|
@@ -132,8 +132,8 @@ const SelectMultiple = ({
|
|
|
132
132
|
if (multiple) {
|
|
133
133
|
const _choices = (0, _set2.default)(`[${choice.i}].selected`, !choice.selected, choices);
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
return
|
|
135
|
+
onChange(_choices);
|
|
136
|
+
return setChoices(_choices);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
return onChange(choice);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["themeStyle","setup","style","cockpit","sidebar","coorpmanager","CMMultipleView","multiple","choice","onChange","handleChange","checked","selected","item","name","SelectMultiple","title","options","theme","placeholder","description","hint","onError","modified","required","error","disabled","skin","isOpened","updateIsOpened","choices","setChoices","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","current","contains","target","_choices","i","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\n// export const useChoices = options => {\n// const [choices, _setChoices] = useState(options);\n\n// const getChoices = () => {\n// return choices;\n// };\n\n// const setChoices = choice => {\n// const _choices = set(`${choice.i}.selected`, !choice.selected, getChoices());\n\n// console.log(JSON.stringify({choice, _choices}, null, 2));\n// // choices.filter(c => c.selected);\n// _setChoices(getChoices().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 [choices, setChoices] = useState(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 const _choices = set(`[${choice.i}].selected`, !choice.selected, choices);\n setChoices(_choices);\n\n return onChange(choices);\n }\n\n return onChange(choice);\n },\n [choices, multiple, onChange]\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","CMMultipleView","multiple","choice","onChange","handleChange","checked","selected","item","name","SelectMultiple","title","options","theme","placeholder","description","hint","onError","modified","required","error","disabled","skin","isOpened","updateIsOpened","choices","setChoices","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","current","contains","target","_choices","i","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":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,UAAU,GAAG;AACjBC,EAAAA,KAAK,EAAEC,eAAMD,KADI;AAEjBE,EAAAA,OAAO,EAAED,eAAMC,OAFE;AAGjBC,EAAAA,OAAO,EAAEF,eAAME,OAHE;AAIjBC,EAAAA,YAAY,EAAEH,eAAMG;AAJH,CAAnB,C,CAOA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;;AAEA,MAAMC,cAAc,GAAG,CAAC;AAACC,EAAAA,QAAD;AAAWC,EAAAA,MAAX;AAAmBC,EAAAA;AAAnB,CAAD,KAAkC;AACvD,QAAMC,YAAY,GAAG,wBACnBC,OAAO,IAAI;AACT,QAAI,CAACJ,QAAL,EAAe;AACb,aAAOE,QAAQ,CAACD,MAAD,CAAf;AACD;;AACD,WAAOC,QAAQ,uBAAKD,MAAL;AAAaI,MAAAA,QAAQ,EAAED;AAAvB,OAAf;AACD,GANkB,EAOnB,CAACF,QAAD,EAAWD,MAAX,EAAmBD,QAAnB,CAPmB,CAArB;AAUA,SAAOA,QAAQ,gBACb;AAAK,IAAA,SAAS,EAAEL,eAAMW;AAAtB,kBACE,6BAAC,sBAAD;AACE,IAAA,UAAU,EAAC,SADb;AAEE,IAAA,OAAO,EAAEL,MAAM,CAACI,QAFlB;AAGE,IAAA,QAAQ,EAAEF,YAHZ;AAIE,IAAA,cAAc,MAJhB;AAKE,IAAA,KAAK,EAAEF,MAAM,CAACM;AALhB,IADF,CADa,gBAWb;AAAM,IAAA,SAAS,EAAEZ,eAAMW,IAAvB;AAA6B,IAAA,OAAO,EAAEH,YAAtC;AAAoD,IAAA,KAAK,EAAEF,MAAM,CAACM;AAAlE,KACGN,MAAM,CAACM,IADV,CAXF;AAeD,CA1BD;;AA4BA,MAAMC,cAAc,GAAG,CACrB;AACEC,EAAAA,KADF;AAEEC,EAAAA,OAFF;AAGEC,EAAAA,KAHF;AAIEC,EAAAA,WAJF;AAKEC,EAAAA,WALF;AAMEC,EAAAA,IANF;AAOEd,EAAAA,QAPF;AAQEE,EAAAA,QARF;AASEa,EAAAA,OATF;AAUEC,EAAAA,QAAQ,GAAG,KAVb;AAWEC,EAAAA,QAAQ,GAAG,KAXb;AAYEC,EAAAA,KAAK,GAAG,EAZV;AAaEC,EAAAA,QAAQ,GAAG;AAbb,CADqB,EAgBrB;AAACC,EAAAA;AAAD,CAhBqB,KAiBlB;AACH,QAAM,CAACC,QAAD,EAAWC,cAAX,IAA6B,qBAAS,KAAT,CAAnC;AACA,QAAM,CAACC,OAAD,EAAUC,UAAV,IAAwB,qBAASd,OAAT,CAA9B;AACA,QAAMe,OAAO,GAAG,mBAAO,IAAP,CAAhB;AAEA,QAAMC,YAAY,GAAG,mBAAI,gBAAJ,EAAsBN,IAAtB,CAArB;AACA,QAAMO,KAAK,GAAG,mBAAI,cAAJ,EAAoBP,IAApB,CAAd;AAEA,QAAMQ,aAAa,GAAG,wBACpBC,CAAC,IAAI;AACH,QAAIV,QAAJ,EAAc;AAEdU,IAAAA,CAAC,CAACC,cAAF;AACAD,IAAAA,CAAC,CAACE,eAAF;AAEAT,IAAAA,cAAc,CAACU,IAAI,IAAI,CAACA,IAAV,CAAd;AACD,GARmB,EASpB,CAACb,QAAD,CAToB,CAAtB;AAYA,QAAMc,WAAW,GAAG,wBAAYJ,CAAC,IAAI;AACnC,QAAIJ,OAAO,IAAIA,OAAO,CAACS,OAAnB,IAA8B,CAACT,OAAO,CAACS,OAAR,CAAgBC,QAAhB,CAAyBN,CAAC,CAACO,MAA3B,CAAnC,EAAuE;AACrEd,MAAAA,cAAc,CAAC,KAAD,CAAd;AACD;AACF,GAJmB,EAIjB,EAJiB,CAApB;AAMA,QAAMnB,YAAY,GAAG,wBACnBF,MAAM,IAAI;AACR;AACA;AACA,QAAID,QAAJ,EAAc;AACZ,YAAMqC,QAAQ,GAAG,mBAAK,IAAGpC,MAAM,CAACqC,CAAE,YAAjB,EAA8B,CAACrC,MAAM,CAACI,QAAtC,EAAgDkB,OAAhD,CAAjB;;AACArB,MAAAA,QAAQ,CAACmC,QAAD,CAAR;AACA,aAAOb,UAAU,CAACa,QAAD,CAAjB;AACD;;AAED,WAAOnC,QAAQ,CAACD,MAAD,CAAf;AACD,GAXkB,EAYnB,CAACsB,OAAD,EAAUvB,QAAV,EAAoBE,QAApB,CAZmB,CAArB;AAeA,wBAAU,MAAM;AACdqC,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCP,WAAnC;AACAM,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwCP,WAAxC;AAEA,WAAO,MAAM;AACXM,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCR,WAAtC;AACAM,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,YAA7B,EAA2CR,WAA3C;AACD,KAHD;AAID,GARD,EAQG,CAACA,WAAD,CARH;AAUA,QAAMS,SAAS,GAAG/B,KAAK,KAAK,cAA5B;;AAEA,QAAMgC,KAAK,GAAG,cAAIC,OAAJ,CAAY;AAACC,IAAAA,GAAG,EAAE;AAAN,GAAZ,EAA0B,CAAC5C,MAAD,EAASqC,CAAT,KAAe;AACrD,wBACE;AAAI,MAAA,GAAG,EAAEA,CAAT;AAAY,MAAA,SAAS,EAAE3C,eAAMM;AAA7B,OACGyC,SAAS,gBACR,6BAAC,cAAD;AAAgB,MAAA,QAAQ,EAAE1C,QAA1B;AAAoC,MAAA,MAAM,wBAAMC,MAAN;AAAcqC,QAAAA;AAAd,QAA1C;AAA4D,MAAA,QAAQ,EAAEnC;AAAtE,MADQ,gBAGR,6BAAC,uBAAD;AACE,MAAA,QAAQ,EAAEA,YADZ;AAEE,MAAA,MAAM,wBAAMF,MAAN;AAAcqC,QAAAA;AAAd,QAFR;AAGE,MAAA,UAAU,EAAEZ;AAHd,MAJJ,CADF;AAaD,GAda,EAcXhB,OAdW,CAAd;;AAgBA,QAAMoC,SAAS,GAAG,oBAAK,sBAAO;AAACzC,IAAAA,QAAQ,EAAE;AAAX,GAAP,CAAL,EAA+B,mBAAI,MAAJ,CAA/B,EAA4C,oBAAK,IAAL,CAA5C,EAAwDK,OAAxD,CAAlB;;AAEA,QAAMqC,MAAM,GAAGtC,KAAK,IAAK,GAAEA,KAAM,GAAEQ,QAAQ,GAAG,IAAH,GAAU,EAAG,EAAxD;;AAEA,QAAM+B,QAAQ,GAAG3B,QAAQ,KAAK,IAA9B;AAEA,QAAM4B,SAAS,GAAGxC,KAAK,gBACrB;AACE,IAAA,SAAS,EAAE,yBACTd,eAAMc,KADG,EAETiC,SAAS,IAAII,SAAb,IAA0BnD,eAAMuD,kBAFvB,EAGTR,SAAS,IAAI,uBAAQI,SAAR,CAAb,IAAmCnD,eAAMwD,OAHhC,EAITH,QAAQ,IAAIrD,eAAMyD,MAJT;AADb,KAQGL,MARH,EASGL,SAAS,gBACR;AAAK,IAAA,SAAS,EAAE/C,eAAM0D;AAAtB,kBACE,6BAAC,qDAAD;AAAU,IAAA,SAAS,EAAE1D,eAAM2D;AAA3B,IADF,eAEE;AAAK,IAAA,SAAS,EAAE3D,eAAM4D;AAAtB,KAAyC1C,WAAzC,CAFF,CADQ,GAKN,IAdN,CADqB,GAiBnB,IAjBJ;AAmBA,QAAM2C,QAAQ,GAAGd,SAAS,gBACxB;AACE,IAAA,SAAS,EAAE,yBAAW/C,eAAMmB,IAAjB,EAAuBkC,QAAQ,IAAIrD,eAAM8D,QAAzC,CADb,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAExC,KAAK,IAAIJ;AAAlB;AAH3B,IADwB,GAMtB,IANJ;AAQA,QAAM6C,SAAS,GAAGhD,KAAK,GAAGlB,UAAU,CAACkB,KAAD,CAAb,GAAuBhB,eAAMiE,OAApD;AACA,QAAMC,eAAe,GAAGnB,SAAS,IAAIM,QAArC;AACA,QAAMc,kBAAkB,GAAG,4BACzBnE,eAAMiE,OADmB,EAEzBjE,eAAMqB,QAFmB,EAGzBrB,eAAMuB,KAHmB,EAIzBF,QAJyB,EAKzBE,KALyB,CAA3B;AAQA,QAAM6C,aAAa,GAAG7C,KAAK,gBAAG,6BAAC,+BAAD;AAAW,IAAA,OAAO,EAAEH,OAApB;AAA6B,IAAA,SAAS,EAAEpB,eAAMqE;AAA9C,IAAH,GAAiE,IAA5F;AAEA,sBACE;AACE,IAAA,SAAS,EAAE,yBAAWL,SAAX,EAAsBG,kBAAtB,EAA0C3C,QAAQ,IAAIxB,eAAMwB,QAA5D,CADb;AAEE,IAAA,GAAG,EAAEM;AAFP,kBAIE,4CACG,CAACiB,SAAD,IAAcO,SADjB,eAEE;AAAK,IAAA,SAAS,EAAEtD,eAAMsE,MAAtB;AAA8B,IAAA,KAAK,EAAEnB,SAAS,IAAIlC,WAAlD;AAA+D,IAAA,OAAO,EAAEgB;AAAxE,KACGc,SAAS,IAAIO,SADhB,eAEE;AACE,IAAA,SAAS,EAAE,yBACTtD,eAAMmD,SADG,EAETJ,SAAS,IAAI,uBAAQI,SAAR,CAAb,IAAmCnD,eAAMuE,WAFhC;AADb,KAMGpB,SAAS,IAAI,CAACJ,SAAd,IAA4BmB,eAAe,IAAIjD,WAA/C,IAA+D,IANlE,CAFF,EAUG8B,SAAS,gBACR;AAAK,IAAA,SAAS,EAAE/C,eAAMwE;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAExE,eAAMyE;AAAtB,KAA6BL,aAA7B,CADF,eAEE;AAAK,IAAA,SAAS,EAAE,yBAAWpE,eAAMyE,IAAjB,EAAuBpB,QAAQ,IAAIrD,eAAM0E,OAAzC;AAAhB,kBACE,6BAAC,6CAAD;AACE,IAAA,KAAK,EAAE1C,KADT;AAEE,IAAA,SAAS,EAAE,yBAAWhC,eAAM2E,KAAjB,EAAwB;AAAC,OAAC3E,eAAM4E,IAAP,GAAcvB;AAAf,KAAxB;AAFb,IADF,CAFF,CADQ,gBAWR,6BAAC,6CAAD;AACE,IAAA,KAAK,EAAErB,KADT;AAEE,IAAA,SAAS,EAAE,yBAAWhC,eAAM2E,KAAjB,EAAwB;AAAC,OAAC3E,eAAM4E,IAAP,GAAcvB;AAAf,KAAxB;AAFb,IArBJ,CAFF,eA6BE;AAAK,IAAA,SAAS,EAAE,yBAAWrD,eAAM4B,OAAjB,EAA0ByB,QAAQ,IAAIrD,eAAM6E,aAA5C;AAAhB,kBACE;AAAI,IAAA,SAAS,EAAE7E,eAAM8E;AAArB,KAA4B9B,KAA5B,CADF,CA7BF,CAJF,EAqCG,CAACD,SAAD,gBAAa;AAAK,IAAA,SAAS,EAAE/C,eAAMkB;AAAtB,KAAoCA,WAApC,CAAb,GAAsE,IArCzE,EAsCG2C,QAtCH,CADF;AA0CD,CA7KD;;AA+KAhD,cAAc,CAACkE,YAAf,GAA8B;AAC5BtD,EAAAA,IAAI,EAAEuD,kBAASC,iBAAT,CAA2BxD;AADL,CAA9B;AAIArB,cAAc,CAAC8E,SAAf,2CAA2B;AACzB7E,EAAAA,QAAQ,EAAE8E,mBAAUC,IADK;AAEzB9E,EAAAA,MAAM,EAAE+E,wBAAeH,SAAf,CAAyB5E,MAFR;AAGzBC,EAAAA,QAAQ,EAAE4E,mBAAUG;AAHK,CAA3B;AAMAzE,cAAc,CAACqE,SAAf,2CAA2B;AACzBpE,EAAAA,KAAK,EAAEqE,mBAAUI,MADQ;AAEzBtE,EAAAA,WAAW,EAAEkE,mBAAUI,MAFE;AAGzBrE,EAAAA,WAAW,EAAEiE,mBAAUI,MAHE;AAIzBpE,EAAAA,IAAI,EAAEgE,mBAAUI,MAJS;AAKzBxE,EAAAA,OAAO,EAAEoE,mBAAUK,OAAV,CAAkBH,wBAAeH,SAAf,CAAyB5E,MAA3C,CALgB;AAMzBC,EAAAA,QAAQ,EAAE4E,mBAAUG,IANK;AAOzBlE,EAAAA,OAAO,EAAE+D,mBAAUG,IAPM;AAQzBjF,EAAAA,QAAQ,EAAE8E,mBAAUC,IARK;AASzB/D,EAAAA,QAAQ,EAAE8D,mBAAUC,IATK;AAUzB5D,EAAAA,QAAQ,EAAE2D,mBAAUC,IAVK;AAWzB9D,EAAAA,QAAQ,EAAE6D,mBAAUC,IAXK;AAYzB7D,EAAAA,KAAK,EAAE4D,mBAAUI,MAZQ;AAazBvE,EAAAA,KAAK,EAAEmE,mBAAUM,KAAV,CAAgB,oBAAK3F,UAAL,CAAhB;AAbkB,CAA3B;eAgBee,c","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\n// export const useChoices = options => {\n// const [choices, _setChoices] = useState(options);\n\n// const getChoices = () => {\n// return choices;\n// };\n\n// const setChoices = choice => {\n// const _choices = set(`${choice.i}.selected`, !choice.selected, getChoices());\n\n// console.log(JSON.stringify({choice, _choices}, null, 2));\n// // choices.filter(c => c.selected);\n// _setChoices(getChoices().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 [choices, setChoices] = useState(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 const _choices = set(`[${choice.i}].selected`, !choice.selected, choices);\n onChange(_choices);\n return setChoices(_choices);\n }\n\n return onChange(choice);\n },\n [choices, multiple, onChange]\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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "10.3.4-alpha.
|
|
3
|
+
"version": "10.3.4-alpha.1+434eb1638",
|
|
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": "
|
|
122
|
+
"gitHead": "434eb16385007372583d28edcc1e6eb46c3d26e8"
|
|
123
123
|
}
|