@coorpacademy/components 11.4.5-alpha.37.36 → 11.4.5-alpha.38.37

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/select/index.js"],"names":[],"mappings":";;;;;;;;AA6BA,qEAqKC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/select/index.js"],"names":[],"mappings":";;;;;;;;AA6BA,qEAoKC"}
@@ -103,15 +103,15 @@ const Select = (props, legacyContext) => {
103
103
  const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);
104
104
  return /*#__PURE__*/React.createElement("div", {
105
105
  className: classnames(composedClassName, theme === 'coorpmanager' ? style.coorpmanager : null)
106
- }, /*#__PURE__*/React.createElement("div", _extends({}, selectId ? {
107
- htmlFor: selectId
108
- } : {}, {
106
+ }, /*#__PURE__*/React.createElement("div", {
109
107
  "data-name": "select-wrapper",
110
108
  style: _extends({}, shouldUseSkinFontColor && {
111
109
  color
112
110
  }),
113
111
  className: style.selectWrapper
114
- }), /*#__PURE__*/React.createElement("label", null, titleView), /*#__PURE__*/React.createElement("span", {
112
+ }, /*#__PURE__*/React.createElement("label", selectId ? {
113
+ htmlFor: selectId
114
+ } : {}, titleView), /*#__PURE__*/React.createElement("span", {
115
115
  "data-name": "select-span",
116
116
  className: classnames(style.selectSpan, includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template']) ? style.noLabelCommon : null, borderClassName, isLongLabel ? style.longLabel : null),
117
117
  style: _extends({}, shouldUseSkinFontColor && {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","classnames","filter","find","get","getOr","includes","keys","map","size","NovaCompositionNavigationArrowDown","ArrowDown","Provider","GetSkinFromContext","getClassState","style","themeStyle","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","Select","props","legacyContext","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","ariaLabel","selectId","titleClassName","skin","optionList","option","index","value","selectOption","titleView","selected","selectedLabel","isSelectedInValidOption","validOption","handleChange","e","target","selectedOptions","black","color","shouldUseSkinFontColor","arrowColor","undefined","arrowView","selectedArrow","arrow","behaviorClassName","default","composedClassName","unselected","labelSize","isLongLabel","htmlFor","selectWrapper","selectSpan","noLabelCommon","longLabel","id","selectBox","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","contextTypes","childContextTypes","propTypes","func","oneOf","arrayOf","shape"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle,\n 'aria-label': ariaLabel,\n selectId,\n titleClassName\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const optionList =\n options &&\n options.map((option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n });\n\n let titleView = null;\n if (selectId) {\n titleView = <div className={titleClassName}>{title} </div>;\n } else if (title) {\n titleView = <span className={style.title}>{title} </span>;\n }\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, options)),\n [multiple, options]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, options)),\n [multiple, options]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const shouldUseSkinFontColor = useMemo(\n () =>\n !isSelectedInValidOption && selected && includes(theme, ['question', 'template', 'player']),\n [isSelectedInValidOption, selected, theme]\n );\n const arrowColor = selected ? color : undefined;\n\n const arrowView = !multiple ? (\n <ArrowDown\n color={includes(theme, ['question', 'template', 'player']) ? arrowColor : black}\n className={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n aria-label={ariaLabel}\n data-testid=\"select-arrow-down-icon\"\n />\n ) : null;\n const behaviorClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviorClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviorClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <div\n {...(selectId ? {htmlFor: selectId} : {})}\n data-name=\"select-wrapper\"\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n <label>{titleView}</label>\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n {arrowView}\n <select\n {...(selectId ? {id: selectId} : {})}\n data-name=\"native-select\"\n className={style.selectBox}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </div>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool,\n 'aria-label': PropTypes.string,\n selectId: PropTypes.string,\n titleClassName: PropTypes.string\n};\n\nexport default Select;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,MAAP,MAAmB,kBAAnB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,QAAP,MAAqB,oBAArB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,SAAQC,kCAAkC,IAAIC,SAA9C,QAA8D,0BAA9D;AACA,OAAOC,QAAP,IAAkBC,kBAAlB,QAA2C,aAA3C;AACA,OAAOC,aAAP,MAA0B,4BAA1B;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,UAAU,GAAG;EACjBd,MAAM,EAAEa,KAAK,CAACb,MADG;EAEjBe,OAAO,EAAEF,KAAK,CAACE,OAFE;EAGjBC,MAAM,EAAEH,KAAK,CAACG,MAHG;EAIjBC,IAAI,EAAEJ,KAAK,CAACI,IAJK;EAKjBC,QAAQ,EAAEL,KAAK,CAACK,QALC;EAMjBC,IAAI,EAAEN,KAAK,CAACM,IANK;EAOjBC,WAAW,EAAEP,KAAK,CAACO,WAPF;EAQjBC,MAAM,EAAER,KAAK,CAACQ,MARG;EASjBC,QAAQ,EAAET,KAAK,CAACS,QATC;EAUjBC,YAAY,EAAE;AAVG,CAAnB;;AAaA,MAAMC,MAAM,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACvC,MAAM;IACJC,IADI;IAEJC,OAAO,GAAG,EAFN;IAGJC,SAHI;IAIJC,eAJI;IAKJC,QALI;IAMJC,QAAQ,GAAG,KANP;IAOJC,QAPI;IAQJC,QARI;IASJC,WATI;IAUJC,KAVI;IAWJC,QAAQ,GAAG,KAXP;IAYJC,KAAK,GAAG,KAZJ;IAaJC,KAAK,EAAEC,SAbH;IAcJ,cAAcC,SAdV;IAeJC,QAfI;IAgBJC;EAhBI,IAiBFlB,KAjBJ;EAmBA,MAAMmB,IAAI,GAAGjC,kBAAkB,CAACe,aAAD,CAA/B;EACA,MAAMa,KAAK,GAAG1C,OAAO,CACnB,MAAO2C,SAAS,GAAI,GAAEA,SAAU,GAAEN,QAAQ,GAAG,GAAH,GAAS,EAAG,EAAtC,GAA0C,IADvC,EAEnB,CAACM,SAAD,EAAYN,QAAZ,CAFmB,CAArB;EAKA,MAAMW,UAAU,GACdjB,OAAO,IACPA,OAAO,CAACtB,GAAR,CAAY,CAACwC,MAAD,EAASC,KAAT,KAAmB;IAC7B,oBACE;MAAQ,GAAG,EAAEA,KAAb;MAAoB,KAAK,EAAED,MAAM,CAACE,KAAlC;MAAyC,SAAS,EAAEnC,KAAK,CAACoC;IAA1D,GACGH,MAAM,CAACnB,IADV,CADF;EAKD,CAND,CAFF;EAUA,IAAIuB,SAAS,GAAG,IAAhB;;EACA,IAAIR,QAAJ,EAAc;IACZQ,SAAS,gBAAG;MAAK,SAAS,EAAEP;IAAhB,GAAiCJ,KAAjC,MAAZ;EACD,CAFD,MAEO,IAAIA,KAAJ,EAAW;IAChBW,SAAS,gBAAG;MAAM,SAAS,EAAErC,KAAK,CAAC0B;IAAvB,GAA+BA,KAA/B,MAAZ;EACD;;EAED,MAAMY,QAAQ,GAAGtD,OAAO,CACtB,MACEmC,QAAQ,GACJ1B,GAAG,CAACJ,GAAG,CAAC,OAAD,CAAJ,EAAeF,MAAM,CAAC;IAACmD,QAAQ,EAAE;EAAX,CAAD,EAAmBvB,OAAnB,CAArB,CADC,GAEJ1B,GAAG,CAAC,OAAD,EAAUD,IAAI,CAAC;IAACkD,QAAQ,EAAE;EAAX,CAAD,EAAmBvB,OAAnB,CAAd,CAJa,EAKtB,CAACI,QAAD,EAAWJ,OAAX,CALsB,CAAxB;EAOA,MAAMwB,aAAa,GAAGvD,OAAO,CAC3B,MACEmC,QAAQ,GACJ1B,GAAG,CAACJ,GAAG,CAAC,MAAD,CAAJ,EAAcF,MAAM,CAAC;IAACmD,QAAQ,EAAE;EAAX,CAAD,EAAmBvB,OAAnB,CAApB,CADC,GAEJ1B,GAAG,CAAC,MAAD,EAASD,IAAI,CAAC;IAACkD,QAAQ,EAAE;EAAX,CAAD,EAAmBvB,OAAnB,CAAb,CAJkB,EAK3B,CAACI,QAAD,EAAWJ,OAAX,CAL2B,CAA7B;EAQA,MAAMyB,uBAAuB,GAAGxD,OAAO,CACrC,MACEuC,KAAK,KAAK,QAAV,IACAjC,KAAK,CAAC,KAAD,EAAQ,MAAR,EAAgBF,IAAI,CAAC;IAACqD,WAAW,EAAE,KAAd;IAAqBH,QAAQ,EAAE;EAA/B,CAAD,EAAuCvB,OAAvC,CAApB,CAH8B,EAIrC,CAACA,OAAD,EAAUQ,KAAV,CAJqC,CAAvC;EAOA,MAAMmB,YAAY,GAAG1D,OAAO,CAC1B,MACEmC,QAAQ,GACJwB,CAAC,IAAI;IACHzB,QAAQ,CAACzB,GAAG,CAACJ,GAAG,CAAC,OAAD,CAAJ,EAAesD,CAAC,CAACC,MAAF,CAASC,eAAxB,CAAJ,CAAR;EACD,CAHG,GAIJF,CAAC,IAAI;IACHzB,QAAQ,CAACyB,CAAC,CAACC,MAAF,CAAST,KAAV,CAAR;EACD,CARmB,EAS1B,CAACjB,QAAD,EAAWC,QAAX,CAT0B,CAA5B;EAYA,MAAM2B,KAAK,GAAG9D,OAAO,CAAC,MAAMM,KAAK,CAAC,SAAD,EAAY,cAAZ,EAA4ByC,IAA5B,CAAZ,EAA+C,CAACA,IAAD,CAA/C,CAArB;EACA,MAAMgB,KAAK,GAAG/D,OAAO,CAAC,MAAMM,KAAK,CAAC,SAAD,EAAY,gBAAZ,EAA8ByC,IAA9B,CAAZ,EAAiD,CAACA,IAAD,CAAjD,CAArB;EACA,MAAMiB,sBAAsB,GAAGhE,OAAO,CACpC,MACE,CAACwD,uBAAD,IAA4BF,QAA5B,IAAwC/C,QAAQ,CAACgC,KAAD,EAAQ,CAAC,UAAD,EAAa,UAAb,EAAyB,QAAzB,CAAR,CAFd,EAGpC,CAACiB,uBAAD,EAA0BF,QAA1B,EAAoCf,KAApC,CAHoC,CAAtC;EAKA,MAAM0B,UAAU,GAAGX,QAAQ,GAAGS,KAAH,GAAWG,SAAtC;EAEA,MAAMC,SAAS,GAAG,CAAChC,QAAD,gBAChB,oBAAC,SAAD;IACE,KAAK,EAAE5B,QAAQ,CAACgC,KAAD,EAAQ,CAAC,UAAD,EAAa,UAAb,EAAyB,QAAzB,CAAR,CAAR,GAAsD0B,UAAtD,GAAmEH,KAD5E;IAEE,SAAS,EAAEE,sBAAsB,GAAGhD,KAAK,CAACoD,aAAT,GAAyBpD,KAAK,CAACqD,KAFlE;IAGE,cAAYzB,SAHd;IAIE,eAAY;EAJd,EADgB,GAOd,IAPJ;EAQA,MAAM0B,iBAAiB,GAAGtE,OAAO,CAC/B,MAAMe,aAAa,CAACC,KAAK,CAACuD,OAAP,EAAgBvD,KAAK,CAACwB,QAAtB,EAAgCxB,KAAK,CAACyB,KAAtC,EAA6CD,QAA7C,EAAuDC,KAAvD,CADY,EAE/B,CAACA,KAAD,EAAQD,QAAR,CAF+B,CAAjC;EAIA,MAAMgC,iBAAiB,GAAGxE,OAAO,CAC/B,MACEE,UAAU,CACRqC,KAAK,IAAIA,KAAK,KAAK,cAAnB,GAAoCtB,UAAU,CAACsB,KAAD,CAA9C,GAAwD+B,iBADhD,EAERhB,QAAQ,GAAGtC,KAAK,CAACsC,QAAT,GAAoBtC,KAAK,CAACyD,UAF1B,EAGRzC,SAHQ,CAFmB,EAO/B,CAACsC,iBAAD,EAAoBtC,SAApB,EAA+BsB,QAA/B,EAAyCf,KAAzC,CAP+B,CAAjC;EAUA,MAAMmC,SAAS,GAAG1E,OAAO,CAAC,MAAMU,IAAI,CAAC6C,aAAD,CAAX,EAA4B,CAACA,aAAD,CAA5B,CAAzB;EAEA,MAAMoB,WAAW,GAAG3E,OAAO,CAAC,MAAM0E,SAAS,IAAI,EAApB,EAAwB,CAACA,SAAD,CAAxB,CAA3B;EAEA,oBACE;IACE,SAAS,EAAExE,UAAU,CACnBsE,iBADmB,EAEnBjC,KAAK,KAAK,cAAV,GAA2BvB,KAAK,CAACU,YAAjC,GAAgD,IAF7B;EADvB,gBAME,wCACOmB,QAAQ,GAAG;IAAC+B,OAAO,EAAE/B;EAAV,CAAH,GAAyB,EADxC;IAEE,aAAU,gBAFZ;IAGE,KAAK,eACCmB,sBAAsB,IAAI;MAC5BD;IAD4B,CAD3B,CAHP;IAQE,SAAS,EAAE/C,KAAK,CAAC6D;EARnB,iBAUE,mCAAQxB,SAAR,CAVF,eAWE;IACE,aAAU,aADZ;IAEE,SAAS,EAAEnD,UAAU,CACnBc,KAAK,CAAC8D,UADa,EAEnBvE,QAAQ,CAACgC,KAAD,EAAQ,CAAC,QAAD,EAAW,SAAX,EAAsB,UAAtB,EAAkC,aAAlC,EAAiD,UAAjD,CAAR,CAAR,GACIvB,KAAK,CAAC+D,aADV,GAEI,IAJe,EAKnB9C,eALmB,EAMnB0C,WAAW,GAAG3D,KAAK,CAACgE,SAAT,GAAqB,IANb,CAFvB;IAUE,KAAK,eACChB,sBAAsB,IAAI;MAC5BD;IAD4B,CAD3B;EAVP,GAgBGR,aAhBH,CAXF,EA6BGY,SA7BH,eA8BE,2CACOtB,QAAQ,GAAG;IAACoC,EAAE,EAAEpC;EAAL,CAAH,GAAoB,EADnC;IAEE,aAAU,eAFZ;IAGE,SAAS,EAAE7B,KAAK,CAACkE,SAHnB;IAIE,IAAI,EAAEpD,IAJR;IAKE,QAAQ,EAAE4B,YALZ;IAME,KAAK,EAAEJ,QANT;IAOE,QAAQ,EAAEnB,QAPZ;IAQE,QAAQ,EAAEC;EARZ,IAUGY,UAVH,CA9BF,CANF,eAiDE;IAAK,SAAS,EAAEhC,KAAK,CAACsB;EAAtB,GAAoCA,WAApC,CAjDF,CADF;AAqDD,CArKD;;AAuKA,OAAO,MAAM6C,qBAAqB,GAAG;EACnCrD,IAAI,EAAE7B,SAAS,CAACmF,MAAV,CAAiBC,UADY;EAEnClC,KAAK,EAAElD,SAAS,CAACqF,SAAV,CAAoB,CAACrF,SAAS,CAACmF,MAAX,EAAmBnF,SAAS,CAACsF,MAA7B,CAApB,CAF4B;EAGnCjC,QAAQ,EAAErD,SAAS,CAACuF,IAHe;EAInC/B,WAAW,EAAExD,SAAS,CAACuF;AAJY,CAA9B;AAOP7D,MAAM,CAAC8D,YAAP,GAAsB;EACpB1C,IAAI,EAAElC,QAAQ,CAAC6E,iBAAT,CAA2B3C;AADb,CAAtB;AAIApB,MAAM,CAACgE,SAAP,2CAAmB;EACjBjD,KAAK,EAAEzC,SAAS,CAACmF,MADA;EAEjBtD,IAAI,EAAE7B,SAAS,CAACmF,MAFC;EAGjBpD,SAAS,EAAE/B,SAAS,CAACmF,MAHJ;EAIjBnD,eAAe,EAAEhC,SAAS,CAACmF,MAJV;EAKjBhD,QAAQ,EAAEnC,SAAS,CAACuF,IALH;EAMjBrD,QAAQ,EAAElC,SAAS,CAACuF,IANH;EAOjBlD,WAAW,EAAErC,SAAS,CAACmF,MAPN;EAQjB/C,QAAQ,EAAEpC,SAAS,CAACuF,IARH;EASjBtD,QAAQ,EAAEjC,SAAS,CAAC2F,IATH;EAUjBrD,KAAK,EAAEtC,SAAS,CAAC4F,KAAV,CAAgBrF,IAAI,CAACS,UAAD,CAApB,CAVU;EAWjBc,OAAO,EAAE9B,SAAS,CAAC6F,OAAV,CAAkB7F,SAAS,CAAC8F,KAAV,CAAgBZ,qBAAhB,CAAlB,CAXQ;EAYjB3C,QAAQ,EAAEvC,SAAS,CAACuF,IAZH;EAajB/C,KAAK,EAAExC,SAAS,CAACuF,IAbA;EAcjB,cAAcvF,SAAS,CAACmF,MAdP;EAejBvC,QAAQ,EAAE5C,SAAS,CAACmF,MAfH;EAgBjBtC,cAAc,EAAE7C,SAAS,CAACmF;AAhBT,CAAnB;AAmBA,eAAezD,MAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","classnames","filter","find","get","getOr","includes","keys","map","size","NovaCompositionNavigationArrowDown","ArrowDown","Provider","GetSkinFromContext","getClassState","style","themeStyle","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","Select","props","legacyContext","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","ariaLabel","selectId","titleClassName","skin","optionList","option","index","value","selectOption","titleView","selected","selectedLabel","isSelectedInValidOption","validOption","handleChange","e","target","selectedOptions","black","color","shouldUseSkinFontColor","arrowColor","undefined","arrowView","selectedArrow","arrow","behaviorClassName","default","composedClassName","unselected","labelSize","isLongLabel","selectWrapper","htmlFor","selectSpan","noLabelCommon","longLabel","id","selectBox","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","contextTypes","childContextTypes","propTypes","func","oneOf","arrayOf","shape"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle,\n 'aria-label': ariaLabel,\n selectId,\n titleClassName\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const optionList =\n options &&\n options.map((option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n });\n\n let titleView = null;\n if (selectId) {\n titleView = <div className={titleClassName}>{title} </div>;\n } else if (title) {\n titleView = <span className={style.title}>{title} </span>;\n }\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, options)),\n [multiple, options]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, options)),\n [multiple, options]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const shouldUseSkinFontColor = useMemo(\n () =>\n !isSelectedInValidOption && selected && includes(theme, ['question', 'template', 'player']),\n [isSelectedInValidOption, selected, theme]\n );\n const arrowColor = selected ? color : undefined;\n\n const arrowView = !multiple ? (\n <ArrowDown\n color={includes(theme, ['question', 'template', 'player']) ? arrowColor : black}\n className={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n aria-label={ariaLabel}\n data-testid=\"select-arrow-down-icon\"\n />\n ) : null;\n const behaviorClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviorClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviorClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <div\n data-name=\"select-wrapper\"\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n <label {...(selectId ? {htmlFor: selectId} : {})}>{titleView}</label>\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n {arrowView}\n <select\n {...(selectId ? {id: selectId} : {})}\n data-name=\"native-select\"\n className={style.selectBox}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </div>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool,\n 'aria-label': PropTypes.string,\n selectId: PropTypes.string,\n titleClassName: PropTypes.string\n};\n\nexport default Select;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/select/index.js"],"names":[],"mappings":";;;;;;;;AA6BA,qEAqKC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/select/index.js"],"names":[],"mappings":";;;;;;;;AA6BA,qEAoKC"}
@@ -129,15 +129,15 @@ const Select = (props, legacyContext) => {
129
129
  const isLongLabel = (0, _react.useMemo)(() => labelSize >= 65, [labelSize]);
130
130
  return /*#__PURE__*/_react.default.createElement("div", {
131
131
  className: (0, _classnames.default)(composedClassName, theme === 'coorpmanager' ? _style.default.coorpmanager : null)
132
- }, /*#__PURE__*/_react.default.createElement("div", _extends({}, selectId ? {
133
- htmlFor: selectId
134
- } : {}, {
132
+ }, /*#__PURE__*/_react.default.createElement("div", {
135
133
  "data-name": "select-wrapper",
136
134
  style: _extends({}, shouldUseSkinFontColor && {
137
135
  color
138
136
  }),
139
137
  className: _style.default.selectWrapper
140
- }), /*#__PURE__*/_react.default.createElement("label", null, titleView), /*#__PURE__*/_react.default.createElement("span", {
138
+ }, /*#__PURE__*/_react.default.createElement("label", selectId ? {
139
+ htmlFor: selectId
140
+ } : {}, titleView), /*#__PURE__*/_react.default.createElement("span", {
141
141
  "data-name": "select-span",
142
142
  className: (0, _classnames.default)(_style.default.selectSpan, (0, _includes.default)(theme, ['player', 'invalid', 'question', 'thematiques', 'template']) ? _style.default.noLabelCommon : null, borderClassName, isLongLabel ? _style.default.longLabel : null),
143
143
  style: _extends({}, shouldUseSkinFontColor && {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["themeStyle","filter","style","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","Select","props","legacyContext","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","ariaLabel","selectId","titleClassName","skin","GetSkinFromContext","useMemo","optionList","map","option","index","value","selectOption","titleView","selected","get","find","selectedLabel","isSelectedInValidOption","getOr","validOption","handleChange","e","target","selectedOptions","black","color","shouldUseSkinFontColor","includes","arrowColor","undefined","arrowView","selectedArrow","arrow","behaviorClassName","getClassState","default","composedClassName","classnames","unselected","labelSize","size","isLongLabel","htmlFor","selectWrapper","selectSpan","noLabelCommon","longLabel","id","selectBox","SelectOptionPropTypes","PropTypes","string","isRequired","oneOfType","number","bool","contextTypes","Provider","childContextTypes","propTypes","func","oneOf","keys","arrayOf","shape"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle,\n 'aria-label': ariaLabel,\n selectId,\n titleClassName\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const optionList =\n options &&\n options.map((option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n });\n\n let titleView = null;\n if (selectId) {\n titleView = <div className={titleClassName}>{title} </div>;\n } else if (title) {\n titleView = <span className={style.title}>{title} </span>;\n }\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, options)),\n [multiple, options]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, options)),\n [multiple, options]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const shouldUseSkinFontColor = useMemo(\n () =>\n !isSelectedInValidOption && selected && includes(theme, ['question', 'template', 'player']),\n [isSelectedInValidOption, selected, theme]\n );\n const arrowColor = selected ? color : undefined;\n\n const arrowView = !multiple ? (\n <ArrowDown\n color={includes(theme, ['question', 'template', 'player']) ? arrowColor : black}\n className={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n aria-label={ariaLabel}\n data-testid=\"select-arrow-down-icon\"\n />\n ) : null;\n const behaviorClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviorClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviorClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <div\n {...(selectId ? {htmlFor: selectId} : {})}\n data-name=\"select-wrapper\"\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n <label>{titleView}</label>\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n {arrowView}\n <select\n {...(selectId ? {id: selectId} : {})}\n data-name=\"native-select\"\n className={style.selectBox}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </div>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool,\n 'aria-label': PropTypes.string,\n selectId: PropTypes.string,\n titleClassName: PropTypes.string\n};\n\nexport default Select;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["themeStyle","filter","style","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","Select","props","legacyContext","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","ariaLabel","selectId","titleClassName","skin","GetSkinFromContext","useMemo","optionList","map","option","index","value","selectOption","titleView","selected","get","find","selectedLabel","isSelectedInValidOption","getOr","validOption","handleChange","e","target","selectedOptions","black","color","shouldUseSkinFontColor","includes","arrowColor","undefined","arrowView","selectedArrow","arrow","behaviorClassName","getClassState","default","composedClassName","classnames","unselected","labelSize","size","isLongLabel","selectWrapper","htmlFor","selectSpan","noLabelCommon","longLabel","id","selectBox","SelectOptionPropTypes","PropTypes","string","isRequired","oneOfType","number","bool","contextTypes","Provider","childContextTypes","propTypes","func","oneOf","keys","arrayOf","shape"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle,\n 'aria-label': ariaLabel,\n selectId,\n titleClassName\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const optionList =\n options &&\n options.map((option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n });\n\n let titleView = null;\n if (selectId) {\n titleView = <div className={titleClassName}>{title} </div>;\n } else if (title) {\n titleView = <span className={style.title}>{title} </span>;\n }\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, options)),\n [multiple, options]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, options)),\n [multiple, options]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const shouldUseSkinFontColor = useMemo(\n () =>\n !isSelectedInValidOption && selected && includes(theme, ['question', 'template', 'player']),\n [isSelectedInValidOption, selected, theme]\n );\n const arrowColor = selected ? color : undefined;\n\n const arrowView = !multiple ? (\n <ArrowDown\n color={includes(theme, ['question', 'template', 'player']) ? arrowColor : black}\n className={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n aria-label={ariaLabel}\n data-testid=\"select-arrow-down-icon\"\n />\n ) : null;\n const behaviorClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviorClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviorClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <div\n data-name=\"select-wrapper\"\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n <label {...(selectId ? {htmlFor: selectId} : {})}>{titleView}</label>\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n {arrowView}\n <select\n {...(selectId ? {id: selectId} : {})}\n data-name=\"native-select\"\n className={style.selectBox}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </div>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool,\n 'aria-label': PropTypes.string,\n selectId: PropTypes.string,\n titleClassName: PropTypes.string\n};\n\nexport default Select;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.4.5-alpha.37.36+1f0053a86",
3
+ "version": "11.4.5-alpha.38.37+32e2f719e",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -160,5 +160,5 @@
160
160
  "last 2 versions",
161
161
  "IE 11"
162
162
  ],
163
- "gitHead": "1f0053a86259ae87713af0ec6947808ecd20991c"
163
+ "gitHead": "32e2f719eb0228b9a42e5b51c7519a05090ea3d1"
164
164
  }