@coorpacademy/components 10.5.7-alpha.6.5 → 10.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/es/atom/select/index.js +41 -22
  2. package/es/atom/select/index.js.map +1 -1
  3. package/es/atom/select/style.css +190 -42
  4. package/es/atom/select/test/fixtures/player.js +11 -0
  5. package/es/atom/select/test/fixtures/player.js.map +1 -0
  6. package/es/atom/select/test/fixtures.js +2 -0
  7. package/es/atom/select/test/fixtures.js.map +1 -1
  8. package/es/atom/select/test/select.js +49 -0
  9. package/es/atom/select/test/select.js.map +1 -0
  10. package/es/molecule/card/customer.js +6 -3
  11. package/es/molecule/card/customer.js.map +1 -1
  12. package/es/molecule/card/favorite.js +13 -4
  13. package/es/molecule/card/favorite.js.map +1 -1
  14. package/es/molecule/card/index.js +41 -12
  15. package/es/molecule/card/index.js.map +1 -1
  16. package/es/molecule/card/selectable.js +11 -4
  17. package/es/molecule/card/selectable.js.map +1 -1
  18. package/es/molecule/card/test/fixtures/default.js +20 -1
  19. package/es/molecule/card/test/fixtures/default.js.map +1 -1
  20. package/es/molecule/card-content/index.js +20 -7
  21. package/es/molecule/card-content/index.js.map +1 -1
  22. package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
  23. package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
  24. package/es/molecule/course-sections/test/fixtures.js +15 -0
  25. package/es/molecule/course-sections/test/fixtures.js.map +1 -0
  26. package/es/molecule/draggable-list/test/fixtures.js +15 -0
  27. package/es/molecule/draggable-list/test/fixtures.js.map +1 -0
  28. package/es/molecule/questions/drop-down/index.js +1 -6
  29. package/es/molecule/questions/drop-down/index.js.map +1 -1
  30. package/es/molecule/questions/free-text/index.js +35 -15
  31. package/es/molecule/questions/free-text/index.js.map +1 -1
  32. package/es/molecule/questions/free-text/style.css +39 -15
  33. package/es/molecule/questions/free-text/test/fixtures/default.js +1 -1
  34. package/es/molecule/questions/free-text/test/fixtures/default.js.map +1 -1
  35. package/es/molecule/questions/free-text/test/fixtures/with-value-on-change.js +9 -0
  36. package/es/molecule/questions/free-text/test/fixtures/with-value-on-change.js.map +1 -0
  37. package/es/molecule/questions/free-text/test/fixtures/{with-default-value.js → with-value.js} +2 -2
  38. package/es/molecule/questions/free-text/test/fixtures/with-value.js.map +1 -0
  39. package/es/molecule/questions/free-text/test/fixtures.js +4 -2
  40. package/es/molecule/questions/free-text/test/fixtures.js.map +1 -1
  41. package/es/molecule/questions/free-text/test/free-text.js +106 -0
  42. package/es/molecule/questions/free-text/test/free-text.js.map +1 -0
  43. package/es/molecule/questions/qcm/style.css +4 -0
  44. package/es/molecule/questions/qcm-drag/index.js +53 -21
  45. package/es/molecule/questions/qcm-drag/index.js.map +1 -1
  46. package/es/molecule/questions/qcm-drag/style.css +72 -22
  47. package/es/molecule/questions/qcm-graphic/index.js +1 -0
  48. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  49. package/es/molecule/questions/qcm-graphic/style.css +12 -2
  50. package/es/molecule/questions/qcm-graphic/test/fixtures/default.js +1 -1
  51. package/es/molecule/questions/qcm-graphic/test/fixtures/default.js.map +1 -1
  52. package/es/molecule/questions/qcm-graphic/test/fixtures/no-selected.js +1 -1
  53. package/es/molecule/questions/qcm-graphic/test/fixtures/no-selected.js.map +1 -1
  54. package/es/molecule/questions/qcm-graphic/test/qcm-graphic.js +1 -1
  55. package/es/molecule/questions/qcm-graphic/test/qcm-graphic.js.map +1 -1
  56. package/es/molecule/questions/template/index.js +15 -11
  57. package/es/molecule/questions/template/index.js.map +1 -1
  58. package/es/molecule/questions/template/style.css +6 -0
  59. package/es/molecule/wizard-summary/test/fixtures.js +2 -0
  60. package/es/molecule/wizard-summary/test/fixtures.js.map +1 -1
  61. package/es/organism/wizard-contents/test/fixtures.js +2 -0
  62. package/es/organism/wizard-contents/test/fixtures.js.map +1 -1
  63. package/es/template/back-office/brand-update/test/fixtures.js +2 -0
  64. package/es/template/back-office/brand-update/test/fixtures.js.map +1 -1
  65. package/es/variables/colors.css +2 -0
  66. package/lib/atom/select/index.js +43 -19
  67. package/lib/atom/select/index.js.map +1 -1
  68. package/lib/atom/select/style.css +190 -42
  69. package/lib/atom/select/test/fixtures/player.js +21 -0
  70. package/lib/atom/select/test/fixtures/player.js.map +1 -0
  71. package/lib/atom/select/test/fixtures.js +3 -0
  72. package/lib/atom/select/test/fixtures.js.map +1 -1
  73. package/lib/atom/select/test/select.js +62 -0
  74. package/lib/atom/select/test/select.js.map +1 -0
  75. package/lib/molecule/card/customer.js +6 -3
  76. package/lib/molecule/card/customer.js.map +1 -1
  77. package/lib/molecule/card/favorite.js +13 -4
  78. package/lib/molecule/card/favorite.js.map +1 -1
  79. package/lib/molecule/card/index.js +41 -12
  80. package/lib/molecule/card/index.js.map +1 -1
  81. package/lib/molecule/card/selectable.js +11 -4
  82. package/lib/molecule/card/selectable.js.map +1 -1
  83. package/lib/molecule/card/test/fixtures/default.js +20 -1
  84. package/lib/molecule/card/test/fixtures/default.js.map +1 -1
  85. package/lib/molecule/card-content/index.js +21 -7
  86. package/lib/molecule/card-content/index.js.map +1 -1
  87. package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
  88. package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
  89. package/lib/molecule/course-sections/test/fixtures.js +25 -0
  90. package/lib/molecule/course-sections/test/fixtures.js.map +1 -0
  91. package/lib/molecule/draggable-list/test/fixtures.js +25 -0
  92. package/lib/molecule/draggable-list/test/fixtures.js.map +1 -0
  93. package/lib/molecule/questions/drop-down/index.js +1 -5
  94. package/lib/molecule/questions/drop-down/index.js.map +1 -1
  95. package/lib/molecule/questions/free-text/index.js +32 -14
  96. package/lib/molecule/questions/free-text/index.js.map +1 -1
  97. package/lib/molecule/questions/free-text/style.css +39 -15
  98. package/lib/molecule/questions/free-text/test/fixtures/default.js +1 -1
  99. package/lib/molecule/questions/free-text/test/fixtures/default.js.map +1 -1
  100. package/lib/molecule/questions/free-text/test/fixtures/with-value-on-change.js +14 -0
  101. package/lib/molecule/questions/free-text/test/fixtures/with-value-on-change.js.map +1 -0
  102. package/lib/molecule/questions/free-text/test/fixtures/{with-default-value.js → with-value.js} +2 -2
  103. package/lib/molecule/questions/free-text/test/fixtures/with-value.js.map +1 -0
  104. package/lib/molecule/questions/free-text/test/fixtures.js +5 -2
  105. package/lib/molecule/questions/free-text/test/fixtures.js.map +1 -1
  106. package/lib/molecule/questions/free-text/test/free-text.js +119 -0
  107. package/lib/molecule/questions/free-text/test/free-text.js.map +1 -0
  108. package/lib/molecule/questions/qcm/style.css +4 -0
  109. package/lib/molecule/questions/qcm-drag/index.js +53 -21
  110. package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
  111. package/lib/molecule/questions/qcm-drag/style.css +72 -22
  112. package/lib/molecule/questions/qcm-graphic/index.js +1 -0
  113. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  114. package/lib/molecule/questions/qcm-graphic/style.css +12 -2
  115. package/lib/molecule/questions/qcm-graphic/test/fixtures/default.js +1 -1
  116. package/lib/molecule/questions/qcm-graphic/test/fixtures/default.js.map +1 -1
  117. package/lib/molecule/questions/qcm-graphic/test/fixtures/no-selected.js +1 -1
  118. package/lib/molecule/questions/qcm-graphic/test/fixtures/no-selected.js.map +1 -1
  119. package/lib/molecule/questions/qcm-graphic/test/qcm-graphic.js +1 -1
  120. package/lib/molecule/questions/qcm-graphic/test/qcm-graphic.js.map +1 -1
  121. package/lib/molecule/questions/template/index.js +15 -11
  122. package/lib/molecule/questions/template/index.js.map +1 -1
  123. package/lib/molecule/questions/template/style.css +6 -0
  124. package/lib/molecule/wizard-summary/test/fixtures.js +3 -0
  125. package/lib/molecule/wizard-summary/test/fixtures.js.map +1 -1
  126. package/lib/organism/wizard-contents/test/fixtures.js +3 -0
  127. package/lib/organism/wizard-contents/test/fixtures.js.map +1 -1
  128. package/lib/template/back-office/brand-update/test/fixtures.js +3 -0
  129. package/lib/template/back-office/brand-update/test/fixtures.js.map +1 -1
  130. package/lib/variables/colors.css +2 -0
  131. package/package.json +2 -2
  132. package/es/molecule/cockpit-popin/test/fixtures.js +0 -17
  133. package/es/molecule/cockpit-popin/test/fixtures.js.map +0 -1
  134. package/es/molecule/questions/free-text/test/fixtures/with-default-value.js.map +0 -1
  135. package/es/molecule/search/test/fixtures.js +0 -15
  136. package/es/molecule/search/test/fixtures.js.map +0 -1
  137. package/lib/molecule/cockpit-popin/test/fixtures.js +0 -28
  138. package/lib/molecule/cockpit-popin/test/fixtures.js.map +0 -1
  139. package/lib/molecule/questions/free-text/test/fixtures/with-default-value.js.map +0 -1
  140. package/lib/molecule/search/test/fixtures.js +0 -25
  141. package/lib/molecule/search/test/fixtures.js.map +0 -1
@@ -1,8 +1,14 @@
1
+ import _size from "lodash/fp/size";
2
+ import _includes from "lodash/fp/includes";
1
3
  import _filter from "lodash/fp/filter";
4
+ import _getOr from "lodash/fp/getOr";
2
5
  import _get from "lodash/fp/get";
3
6
  import _map from "lodash/fp/map";
4
7
  import _keys from "lodash/fp/keys";
5
8
  import _find from "lodash/fp/find";
9
+
10
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
+
6
12
  import React, { useMemo } from 'react';
7
13
  import PropTypes from 'prop-types';
8
14
  import classnames from 'classnames';
@@ -18,7 +24,9 @@ const themeStyle = {
18
24
  question: style.question,
19
25
  sort: style.sort,
20
26
  thematiques: style.thematiques,
21
- template: style.template
27
+ player: style.player,
28
+ template: style.template // we keep template in case it is used anywhere else?
29
+
22
30
  };
23
31
 
24
32
  const Select = (props, context) => {
@@ -40,52 +48,62 @@ const Select = (props, context) => {
40
48
  const {
41
49
  skin
42
50
  } = context;
43
- const title = propTitle ? `${propTitle}${required ? '*' : ''}` : null;
51
+ const title = useMemo(() => propTitle ? `${propTitle}${required ? '*' : ''}` : null, [propTitle, required]);
44
52
  const optionList = options && options.map((option, index) => {
45
53
  return /*#__PURE__*/React.createElement("option", {
46
54
  key: index,
47
- value: option.value
55
+ value: option.value,
56
+ className: style.selectOption
48
57
  }, option.name);
49
58
  });
50
59
  const titleView = title ? /*#__PURE__*/React.createElement("span", {
51
60
  className: style.title
52
61
  }, title, " ") : null;
53
- const selected = multiple ? _map(_get('value'), _filter({
62
+ const selected = useMemo(() => multiple ? _map(_get('value'), _filter({
54
63
  selected: true
55
64
  }, options)) : _get('value', _find({
56
65
  selected: true
57
- }, options));
58
- const selectedLabel = multiple ? _map(_get('name'), _filter({
66
+ }, options)), [multiple, options]);
67
+ const selectedLabel = useMemo(() => multiple ? _map(_get('name'), _filter({
59
68
  selected: true
60
69
  }, options)) : _get('name', _find({
61
70
  selected: true
62
- }, options));
71
+ }, options)), [multiple, options]);
72
+ const isSelectedInValidOption = useMemo(() => theme === 'player' && _getOr(false, 'name', _find({
73
+ validOption: false,
74
+ selected: true
75
+ }, options)), [options, theme]);
63
76
  const handleChange = useMemo(() => multiple ? e => {
64
77
  onChange(_map(_get('value'), e.target.selectedOptions));
65
78
  } : e => {
66
79
  onChange(e.target.value);
67
80
  }, [onChange, multiple]);
68
-
69
- const black = _get('common.black', skin);
70
-
71
- const color = _get('common.primary', skin);
72
-
73
- const skinColor = {
74
- color: selected && (theme === 'question' || theme === 'template') ? color : null
75
- };
81
+ const black = useMemo(() => _getOr('#14171A', 'common.black', skin), [skin]);
82
+ const color = useMemo(() => _getOr('#00B0FF', 'common.primary', skin), [skin]);
83
+ const shouldUseSkinFontColor = useMemo(() => !isSelectedInValidOption && selected && _includes(theme, ['question', 'template', 'player']), [isSelectedInValidOption, selected, theme]);
84
+ const arrowColor = selected ? color : undefined;
76
85
  const arrowView = !multiple ? /*#__PURE__*/React.createElement(ArrowDown, {
77
- color: selected && (theme === 'question' || theme === 'template') ? color : black,
78
- className: style.arrow
86
+ color: _includes(theme, ['question', 'template', 'player']) ? arrowColor : black,
87
+ className: shouldUseSkinFontColor ? style.selectedArrow : style.arrow
79
88
  }) : null;
80
- const behaviourClassName = getClassState(style.default, style.modified, style.error, modified, error);
81
- const composedClassName = classnames(theme ? themeStyle[theme] : behaviourClassName, selected ? style.selected : style.unselected, className);
89
+ const behaviourClassName = useMemo(() => getClassState(style.default, style.modified, style.error, modified, error), [error, modified]);
90
+ const composedClassName = useMemo(() => classnames(theme ? themeStyle[theme] : behaviourClassName, selected ? style.selected : style.unselected, className), [behaviourClassName, className, selected, theme]);
91
+ const labelSize = useMemo(() => _size(selectedLabel), [selectedLabel]);
92
+ const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);
82
93
  return /*#__PURE__*/React.createElement("div", {
83
94
  className: composedClassName
84
95
  }, /*#__PURE__*/React.createElement("label", {
85
- style: skinColor
96
+ "data-name": "select-wrapper",
97
+ style: _extends({}, shouldUseSkinFontColor && {
98
+ color
99
+ }),
100
+ className: style.selectWrapper
86
101
  }, titleView, /*#__PURE__*/React.createElement("span", {
87
- className: classnames(style.label, borderClassName)
102
+ "data-name": "select-span",
103
+ className: classnames(style.selectSpan, _includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template']) ? style.noLabelCommon : null, borderClassName, isLongLabel ? style.longLabel : null)
88
104
  }, selectedLabel), arrowView, /*#__PURE__*/React.createElement("select", {
105
+ "data-name": "native-select",
106
+ className: style.selectBox,
89
107
  title: selectedLabel,
90
108
  name: name,
91
109
  onChange: handleChange,
@@ -100,7 +118,8 @@ const Select = (props, context) => {
100
118
  export const SelectOptionPropTypes = {
101
119
  name: PropTypes.string.isRequired,
102
120
  value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
103
- selected: PropTypes.bool
121
+ selected: PropTypes.bool,
122
+ validOption: PropTypes.bool
104
123
  };
105
124
  Select.contextTypes = {
106
125
  skin: Provider.childContextTypes.skin
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/select/index.js"],"names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","Provider","getClassState","style","themeStyle","filter","invalid","header","mooc","question","sort","thematiques","template","Select","props","context","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","skin","optionList","map","option","index","value","titleView","selected","selectedLabel","handleChange","e","target","selectedOptions","black","color","skinColor","arrowView","arrow","behaviourClassName","default","composedClassName","unselected","label","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","contextTypes","childContextTypes","propTypes","func","oneOf","arrayOf","shape"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {find, keys, map, get, filter} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider 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 template: style.template\n};\n\nconst Select = (props, context) => {\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 } = props;\n\n const {skin} = context;\n\n const title = propTitle ? `${propTitle}${required ? '*' : ''}` : null;\n\n const optionList =\n options &&\n options.map((option, index) => {\n return (\n <option key={index} value={option.value}>\n {option.name}\n </option>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title} </span> : null;\n\n const selected = multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, options));\n const selectedLabel = multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, options));\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 = get('common.black', skin);\n const color = get('common.primary', skin);\n const skinColor = {\n color: selected && (theme === 'question' || theme === 'template') ? color : null\n };\n\n const arrowView = !multiple ? (\n <ArrowDown\n color={selected && (theme === 'question' || theme === 'template') ? color : black}\n className={style.arrow}\n />\n ) : null;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n const composedClassName = classnames(\n theme ? themeStyle[theme] : behaviourClassName,\n selected ? style.selected : style.unselected,\n className\n );\n\n return (\n <div className={composedClassName}>\n <label style={skinColor}>\n {titleView}\n <span className={classnames(style.label, borderClassName)}>{selectedLabel}</span>\n {arrowView}\n <select\n title={selectedLabel}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </label>\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};\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};\n\nexport default Select;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/select/index.js"],"names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","Provider","getClassState","style","themeStyle","filter","invalid","header","mooc","question","sort","thematiques","player","template","Select","props","context","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","skin","optionList","map","option","index","value","selectOption","titleView","selected","selectedLabel","isSelectedInValidOption","validOption","handleChange","e","target","selectedOptions","black","color","shouldUseSkinFontColor","arrowColor","undefined","arrowView","selectedArrow","arrow","behaviourClassName","default","composedClassName","unselected","labelSize","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectBox","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","contextTypes","childContextTypes","propTypes","func","oneOf","arrayOf","shape"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {find, keys, map, get, getOr, filter, includes, size} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider 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 // we keep template in case it is used anywhere else?\n};\n\nconst Select = (props, context) => {\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 } = props;\n\n const {skin} = context;\n\n const title = useMemo(() => (propTitle ? `${propTitle}${required ? '*' : ''}` : null), [\n propTitle,\n 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 const titleView = title ? <span className={style.title}>{title} </span> : null;\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 />\n ) : null;\n const behaviourClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme ? themeStyle[theme] : behaviourClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviourClassName, 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 className={composedClassName}>\n <label\n data-name=\"select-wrapper\"\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\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 >\n {selectedLabel}\n </span>\n {arrowView}\n <select\n data-name=\"native-select\"\n className={style.selectBox}\n title={selectedLabel}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </label>\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};\n\nexport default Select;\n"],"file":"index.js"}
@@ -10,6 +10,10 @@
10
10
  @value white from colors;
11
11
  @value xtraLightGrey from colors;
12
12
  @value transparent from colors;
13
+ @value box_shadow_light_dark from colors;
14
+ @value box_shadow_medium_dark from colors;
15
+ @value cm_blue_900 from colors;
16
+ @value cm_grey_450 from colors;
13
17
 
14
18
  .default {
15
19
  display: flex;
@@ -23,7 +27,11 @@
23
27
  composes: default;
24
28
  }
25
29
 
26
- .default label {
30
+ .selectWrapper {
31
+ position: relative;
32
+ }
33
+
34
+ .default .selectWrapper {
27
35
  display: flex;
28
36
  align-items: center;
29
37
  height: 50px;
@@ -41,20 +49,16 @@
41
49
  width: 180px;
42
50
  }
43
51
 
44
- .label {
52
+ .selectSpan {
45
53
  display: none;
46
- position: absolute;
54
+ position: relative;
55
+ z-index: 10;
47
56
  white-space: nowrap;
48
- overflow: hidden;
49
- left: 0;
50
- right: 0;
51
- bottom: 0;
52
57
  pointer-events: none;
53
- text-overflow: ellipsis;
54
58
  height: 18px;
55
59
  }
56
60
 
57
- .default select {
61
+ .default .selectBox {
58
62
  font-family: "Gilroy";
59
63
  text-transform: none;
60
64
  padding: 0 15px;
@@ -68,6 +72,22 @@
68
72
  outline: none;
69
73
  appearance: none;
70
74
  cursor: pointer;
75
+ position: absolute;
76
+ left: 0;
77
+ right: 0;
78
+ bottom: 0;
79
+ }
80
+
81
+ .selectOption,
82
+ .no-label .selectWrapper{
83
+ min-width: min-content;
84
+ height: min-content;
85
+ }
86
+
87
+ .player .selectWrapper {
88
+ min-width: min-content;
89
+ height: min-content;
90
+ margin-right: 0;
71
91
  }
72
92
 
73
93
  .modified select {
@@ -112,6 +132,23 @@
112
132
  pointer-events: none;
113
133
  width: 12px;
114
134
  height: 12px;
135
+ z-index: 11;
136
+ }
137
+
138
+ .selectedArrow {
139
+ composes: arrow;
140
+ }
141
+
142
+ .player .selectWrapper .arrow {
143
+ color: cm_grey_450;
144
+ }
145
+
146
+ .player:hover .arrow {
147
+ color: cm_blue_900;
148
+ }
149
+
150
+ .player:hover .selectedArrow {
151
+ color: inherit;
115
152
  }
116
153
 
117
154
  @media mobile {
@@ -121,7 +158,7 @@
121
158
  }
122
159
  }
123
160
 
124
- .default select[multiple] {
161
+ .default .selectBox[multiple] {
125
162
  padding: 0;
126
163
  height: 80px;
127
164
  }
@@ -130,7 +167,7 @@
130
167
  Filter
131
168
  */
132
169
 
133
- .filter label {
170
+ .filter .selectWrapper {
134
171
  display: flex;
135
172
  align-items: center;
136
173
  position: relative;
@@ -140,7 +177,7 @@
140
177
  margin: 0;
141
178
  }
142
179
 
143
- .filter .label {
180
+ .filter .selectSpan {
144
181
  display: block;
145
182
  padding: 15px 30px 15px 15px;
146
183
  font-size: 12px;
@@ -157,7 +194,9 @@
157
194
  margin-bottom: 10px;
158
195
  }
159
196
 
160
- .filter select {
197
+ .filter .selectBox {
198
+ position: absolute;
199
+ top: 27px;
161
200
  display: block;
162
201
  width: 100%;
163
202
  height: 50px;
@@ -186,57 +225,118 @@
186
225
  position: relative;
187
226
  }
188
227
 
189
- .no-label label {
228
+ .no-label .selectWrapper {
190
229
  display: flex;
191
230
  align-items: center;
192
- height: 44px;
231
+ min-height: 54px;
193
232
  position: relative;
194
233
  flex-grow: 0;
195
234
  }
196
235
 
197
- .no-label .label {
236
+ .noLabelCommon {
198
237
  display: block;
199
238
  padding: 0 30px 0 10px;
200
239
  font-size: 14px;
240
+ height: 54px;
241
+ line-height: 52px;
242
+ box-sizing: border-box;
243
+ }
244
+
245
+ div.default label.selectWrapper span.longLabel {
246
+ min-width: 230px;
247
+ max-width: 280px;
248
+ white-space: pre-wrap;
249
+ line-height: 22px;
250
+ padding-top: 15px;
251
+ padding-bottom: 15px;
252
+ height: auto;
253
+ border: none;
254
+ }
255
+
256
+ div:not(.player) .noLabelCommon.selectSpan {
201
257
  border: 1px solid light;
202
258
  background: white;
203
259
  border-radius: 2px;
204
- height: 44px;
205
- line-height: 42px;
206
- box-sizing: border-box;
260
+ min-width: min-content;
261
+ width: 100%;
262
+ }
263
+
264
+ div.player .noLabelCommon.selectSpan {
265
+ box-shadow: 0px 4px 16px box_shadow_light_dark;
266
+ border-radius: 8px;
267
+ min-width: min-content;
268
+ width: 100%;
207
269
  white-space: nowrap;
208
- text-overflow: ellipsis;
270
+ color: cm_blue_900;
271
+ border-width: 0;
272
+ }
273
+
274
+ div.player:hover span.selectSpan {
275
+ box-shadow: 0px 4px 16px box_shadow_medium_dark;
209
276
  }
210
277
 
211
- .no-label select {
278
+ .no-label .selectBox {
212
279
  font-family: "Gilroy";
213
280
  text-transform: none;
214
281
  padding: 0 15px;
215
- height: 44px;
282
+ height: 54px;
216
283
  border-radius: 2px;
217
- font-size: 16px;
284
+ font-size: 14px;
218
285
  color: black;
219
286
  font-weight: normal;
220
287
  margin-left: 0;
221
288
  width: 230px;
289
+ max-width: 280px;
222
290
  cursor: pointer;
223
291
  background: white;
224
292
  border: 2px solid xtraLightGrey;
225
293
  }
226
294
 
227
295
  @media mobile {
228
- .no-label select {
229
- height: 100%;
230
- width: 100%;
296
+ div.player .selectBox {
297
+ min-width: 0;
298
+ }
299
+
300
+ .no-label .selectBox {
231
301
  margin-left: 0;
232
302
  border-radius: 0;
303
+ position: absolute;
304
+ left: 0;
305
+ right: 0;
306
+ bottom: 0;
233
307
  }
234
308
 
235
- .no-label label {
309
+ .no-label .selectWrapper {
236
310
  display: block;
237
311
  margin-right: 0;
238
312
  width: 100%;
239
- height: 44px;
313
+ min-height: 44px;
314
+ height: min-content;
315
+ min-width: 250px;
316
+ max-width: 280px;
317
+ }
318
+
319
+ .player .noLabelCommon {
320
+ height: min-content;
321
+ }
322
+
323
+ div.player .noLabelCommon.selectSpan {
324
+ min-width: 250px;
325
+ max-width: 280px;
326
+ white-space: pre-wrap;
327
+ }
328
+
329
+ .noLabelCommon.longLabel {
330
+ line-height: 22px;
331
+ height: 100%;
332
+ }
333
+
334
+ .player.default .selectBox {
335
+ position: absolute;
336
+ top: 0px;
337
+ left: 0px;
338
+ width: 100%;
339
+ height: 100%;
240
340
  }
241
341
  }
242
342
 
@@ -248,12 +348,16 @@
248
348
  composes: no-label;
249
349
  }
250
350
 
251
- .invalid label {
351
+ .invalid .player {
352
+ color: cm_blue_900;
353
+ }
354
+
355
+ .invalid .selectWrapper {
252
356
  height: 54px;
253
357
  color: black;
254
358
  }
255
359
 
256
- .invalid .label {
360
+ .invalid .selectSpan {
257
361
  font-size: 15px;
258
362
  font-weight: 700;
259
363
  border: 2px solid;
@@ -271,10 +375,11 @@
271
375
  width: 150px;
272
376
  }
273
377
 
274
- .mooc label {
378
+ .mooc .selectWrapper {
275
379
  margin: 0;
276
380
  height: 35px;
277
381
  border: 0;
382
+ width: inherit;
278
383
  }
279
384
 
280
385
  .mooc select {
@@ -307,11 +412,11 @@
307
412
  composes: no-label;
308
413
  }
309
414
 
310
- .question label {
415
+ .question .selectWrapper {
311
416
  height: 54px;
312
417
  }
313
418
 
314
- .question .label {
419
+ .question .selectSpan {
315
420
  font-size: 15px;
316
421
  font-weight: 700;
317
422
  border: 2px solid;
@@ -328,7 +433,7 @@
328
433
  margin-bottom: 10px;
329
434
  }
330
435
 
331
- .sort label {
436
+ .sort .selectWrapper {
332
437
  display: flex;
333
438
  align-items: center;
334
439
  position: relative;
@@ -338,7 +443,7 @@
338
443
  margin: 0;
339
444
  }
340
445
 
341
- .sort .label {
446
+ .sort .selectSpan {
342
447
  display: block;
343
448
  padding: 15px 30px 15px 15px;
344
449
  font-size: 12px;
@@ -379,16 +484,59 @@
379
484
  composes: no-label;
380
485
  }
381
486
 
487
+ /*
488
+ Player
489
+ */
490
+
491
+ .player {
492
+ composes: no-label;
493
+ }
494
+
495
+ .player .selectBox {
496
+ border: 0;
497
+ }
498
+
499
+ /* mozilla specific styling */
500
+ @supports (-moz-appearance:none) {
501
+ .player label.selectWrapper select.selectBox {
502
+ width: 100%;
503
+ }
504
+ }
505
+
382
506
  /*
383
507
  Header
384
508
  */
385
509
 
386
510
  .header {
387
511
  composes: mooc;
388
- width: auto;
389
512
  }
390
513
 
391
- .header select {
514
+ .header .selectBox {
515
+ margin-left: 0;
516
+ }
517
+
518
+ .default .selectWrapper select.selectBox {
519
+ max-width: 280px;
520
+ width: inherit;
521
+ border-radius: 8px;
522
+ padding: 0;
523
+ height: 100%;
524
+ top: 0;
525
+ }
526
+
527
+ .header .title,
528
+ .header .selectWrapper span.selectSpan {
529
+ min-width: 150px;
530
+ color: transparent;
531
+ }
532
+
533
+ .header .selectWrapper select.selectBox {
534
+ padding-left: 10px;
535
+ border-radius: 2px;
536
+ padding-right: 30px;
537
+ }
538
+
539
+ .header .selectBox {
392
540
  background-color: light;
393
541
  border: 0;
394
542
  font-weight: 700;
@@ -420,7 +568,7 @@
420
568
  composes: no-label;
421
569
  }
422
570
 
423
- .template select {
571
+ .template .selectBox {
424
572
  width: auto;
425
573
  height: 54px;
426
574
  padding: 0 50px 0 0;
@@ -428,22 +576,22 @@
428
576
  max-width: 100%;
429
577
  }
430
578
 
431
- .template .label {
579
+ .template .selectSpan {
432
580
  font-size: 15px;
433
581
  font-weight: 700;
434
582
  height: 54px;
435
583
  line-height: 52px;
436
584
  }
437
585
 
438
- .selected.template .label {
586
+ .selected.template .selectSpan {
439
587
  border: 1px solid;
440
588
  }
441
589
 
442
- .unselected.template .label {
590
+ .unselected.template .selectSpan {
443
591
  border: 1px solid color(black lightness(85%));
444
592
  }
445
593
 
446
- .template label {
594
+ .template .selectWrapper {
447
595
  display: block;
448
596
  width: auto;
449
597
  margin-right: 0;
@@ -0,0 +1,11 @@
1
+ import _defaultsDeep from "lodash/fp/defaultsDeep";
2
+ import Default from './default';
3
+ const {
4
+ props
5
+ } = Default;
6
+ export default {
7
+ props: _defaultsDeep(props, {
8
+ theme: 'player'
9
+ })
10
+ };
11
+ //# sourceMappingURL=player.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/atom/select/test/fixtures/player.js"],"names":["Default","props","theme"],"mappings":";AACA,OAAOA,OAAP,MAAoB,WAApB;AAEA,MAAM;AAACC,EAAAA;AAAD,IAAUD,OAAhB;AAEA,eAAe;AACbC,EAAAA,KAAK,EAAE,cAAaA,KAAb,EAAoB;AACzBC,IAAAA,KAAK,EAAE;AADkB,GAApB;AADM,CAAf","sourcesContent":["import {defaultsDeep} from 'lodash/fp';\nimport Default from './default';\n\nconst {props} = Default;\n\nexport default {\n props: defaultsDeep(props, {\n theme: 'player'\n })\n};\n"],"file":"player.js"}
@@ -11,6 +11,7 @@ import fixtureModified from './fixtures/modified';
11
11
  import fixtureMooc from './fixtures/mooc';
12
12
  import fixtureMultipleSelected from './fixtures/multiple-selected';
13
13
  import fixtureMultiple from './fixtures/multiple';
14
+ import fixturePlayer from './fixtures/player';
14
15
  import fixtureQuestion from './fixtures/question';
15
16
  import fixtureRequiredWithTitle from './fixtures/required-with-title';
16
17
  import fixtureRequired from './fixtures/required';
@@ -33,6 +34,7 @@ test('Atom › AtomSelect › Modified › should be rendered', renderComponentM
33
34
  test('Atom › AtomSelect › Mooc › should be rendered', renderComponentMacro, AtomSelect, fixtureMooc);
34
35
  test('Atom › AtomSelect › MultipleSelected › should be rendered', renderComponentMacro, AtomSelect, fixtureMultipleSelected);
35
36
  test('Atom › AtomSelect › Multiple › should be rendered', renderComponentMacro, AtomSelect, fixtureMultiple);
37
+ test('Atom › AtomSelect › Player › should be rendered', renderComponentMacro, AtomSelect, fixturePlayer);
36
38
  test('Atom › AtomSelect › Question › should be rendered', renderComponentMacro, AtomSelect, fixtureQuestion);
37
39
  test('Atom › AtomSelect › RequiredWithTitle › should be rendered', renderComponentMacro, AtomSelect, fixtureRequiredWithTitle);
38
40
  test('Atom › AtomSelect › Required › should be rendered', renderComponentMacro, AtomSelect, fixtureRequired);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/atom/select/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","AtomSelect","fixtureDefault","fixtureDisabled","fixtureError","fixtureFilter","fixtureInvalid","fixtureModified","fixtureMooc","fixtureMultipleSelected","fixtureMultiple","fixtureQuestion","fixtureRequiredWithTitle","fixtureRequired","fixtureSort","fixtureTemplate","fixtureThematiquesLong","fixtureThematiques","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,UAAP,MAAuB,IAAvB;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,aAAP,MAA0B,mBAA1B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,uBAAP,MAAoC,8BAApC;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,wBAAP,MAAqC,gCAArC;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AACA,OAAOC,kBAAP,MAA+B,wBAA/B;AAEAnB,IAAI,CAAC,iDAAD,EAAoDoB,CAAC,IAAI;AAC3DA,EAAAA,CAAC,CAACC,IAAF;AACApB,EAAAA,OAAO,CAACE,UAAU,CAACmB,SAAZ,EAAuB,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC5CJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,2CAA0CF,GAAI,mEAAvE;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAxB,IAAI,CAAC,kDAAD,EAAqDE,oBAArD,EAA2EC,UAA3E,EAAuFC,cAAvF,CAAJ;AACAJ,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFE,eAAxF,CAAJ;AACAL,IAAI,CAAC,gDAAD,EAAmDE,oBAAnD,EAAyEC,UAAzE,EAAqFG,YAArF,CAAJ;AACAN,IAAI,CAAC,iDAAD,EAAoDE,oBAApD,EAA0EC,UAA1E,EAAsFI,aAAtF,CAAJ;AACAP,IAAI,CAAC,kDAAD,EAAqDE,oBAArD,EAA2EC,UAA3E,EAAuFK,cAAvF,CAAJ;AACAR,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFM,eAAxF,CAAJ;AACAT,IAAI,CAAC,+CAAD,EAAkDE,oBAAlD,EAAwEC,UAAxE,EAAoFO,WAApF,CAAJ;AACAV,IAAI,CAAC,2DAAD,EAA8DE,oBAA9D,EAAoFC,UAApF,EAAgGQ,uBAAhG,CAAJ;AACAX,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFS,eAAxF,CAAJ;AACAZ,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFU,eAAxF,CAAJ;AACAb,IAAI,CAAC,4DAAD,EAA+DE,oBAA/D,EAAqFC,UAArF,EAAiGW,wBAAjG,CAAJ;AACAd,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFY,eAAxF,CAAJ;AACAf,IAAI,CAAC,+CAAD,EAAkDE,oBAAlD,EAAwEC,UAAxE,EAAoFa,WAApF,CAAJ;AACAhB,IAAI,CAAC,mDAAD,EAAsDE,oBAAtD,EAA4EC,UAA5E,EAAwFc,eAAxF,CAAJ;AACAjB,IAAI,CAAC,0DAAD,EAA6DE,oBAA7D,EAAmFC,UAAnF,EAA+Fe,sBAA/F,CAAJ;AACAlB,IAAI,CAAC,sDAAD,EAAyDE,oBAAzD,EAA+EC,UAA/E,EAA2FgB,kBAA3F,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomSelect from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureDisabled from './fixtures/disabled';\nimport fixtureError from './fixtures/error';\nimport fixtureFilter from './fixtures/filter';\nimport fixtureInvalid from './fixtures/invalid';\nimport fixtureModified from './fixtures/modified';\nimport fixtureMooc from './fixtures/mooc';\nimport fixtureMultipleSelected from './fixtures/multiple-selected';\nimport fixtureMultiple from './fixtures/multiple';\nimport fixtureQuestion from './fixtures/question';\nimport fixtureRequiredWithTitle from './fixtures/required-with-title';\nimport fixtureRequired from './fixtures/required';\nimport fixtureSort from './fixtures/sort';\nimport fixtureTemplate from './fixtures/template';\nimport fixtureThematiquesLong from './fixtures/thematiques-long';\nimport fixtureThematiques from './fixtures/thematiques';\n\ntest('Atom › AtomSelect > should have valid propTypes', t => {\n t.pass();\n forEach(AtomSelect.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomSelect.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomSelect › Default › should be rendered', renderComponentMacro, AtomSelect, fixtureDefault);\ntest('Atom › AtomSelect › Disabled › should be rendered', renderComponentMacro, AtomSelect, fixtureDisabled);\ntest('Atom › AtomSelect › Error › should be rendered', renderComponentMacro, AtomSelect, fixtureError);\ntest('Atom › AtomSelect › Filter › should be rendered', renderComponentMacro, AtomSelect, fixtureFilter);\ntest('Atom › AtomSelect › Invalid › should be rendered', renderComponentMacro, AtomSelect, fixtureInvalid);\ntest('Atom › AtomSelect › Modified › should be rendered', renderComponentMacro, AtomSelect, fixtureModified);\ntest('Atom › AtomSelect › Mooc › should be rendered', renderComponentMacro, AtomSelect, fixtureMooc);\ntest('Atom › AtomSelect › MultipleSelected › should be rendered', renderComponentMacro, AtomSelect, fixtureMultipleSelected);\ntest('Atom › AtomSelect › Multiple › should be rendered', renderComponentMacro, AtomSelect, fixtureMultiple);\ntest('Atom › AtomSelect › Question › should be rendered', renderComponentMacro, AtomSelect, fixtureQuestion);\ntest('Atom › AtomSelect › RequiredWithTitle › should be rendered', renderComponentMacro, AtomSelect, fixtureRequiredWithTitle);\ntest('Atom › AtomSelect › Required › should be rendered', renderComponentMacro, AtomSelect, fixtureRequired);\ntest('Atom › AtomSelect › Sort › should be rendered', renderComponentMacro, AtomSelect, fixtureSort);\ntest('Atom › AtomSelect › Template › should be rendered', renderComponentMacro, AtomSelect, fixtureTemplate);\ntest('Atom › AtomSelect › ThematiquesLong › should be rendered', renderComponentMacro, AtomSelect, fixtureThematiquesLong);\ntest('Atom › AtomSelect › Thematiques › should be rendered', renderComponentMacro, AtomSelect, fixtureThematiques);\n"],"file":"fixtures.js"}
1
+ {"version":3,"sources":["../../../../src/atom/select/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","AtomSelect","fixtureDefault","fixtureDisabled","fixtureError","fixtureFilter","fixtureInvalid","fixtureModified","fixtureMooc","fixtureMultipleSelected","fixtureMultiple","fixturePlayer","fixtureQuestion","fixtureRequiredWithTitle","fixtureRequired","fixtureSort","fixtureTemplate","fixtureThematiquesLong","fixtureThematiques","t","pass","propTypes","value","key","not","undefined"],"mappings":"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","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomSelect from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureDisabled from './fixtures/disabled';\nimport fixtureError from './fixtures/error';\nimport fixtureFilter from './fixtures/filter';\nimport fixtureInvalid from './fixtures/invalid';\nimport fixtureModified from './fixtures/modified';\nimport fixtureMooc from './fixtures/mooc';\nimport fixtureMultipleSelected from './fixtures/multiple-selected';\nimport fixtureMultiple from './fixtures/multiple';\nimport fixturePlayer from './fixtures/player';\nimport fixtureQuestion from './fixtures/question';\nimport fixtureRequiredWithTitle from './fixtures/required-with-title';\nimport fixtureRequired from './fixtures/required';\nimport fixtureSort from './fixtures/sort';\nimport fixtureTemplate from './fixtures/template';\nimport fixtureThematiquesLong from './fixtures/thematiques-long';\nimport fixtureThematiques from './fixtures/thematiques';\n\ntest('Atom › AtomSelect > should have valid propTypes', t => {\n t.pass();\n forEach(AtomSelect.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomSelect.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomSelect › Default › should be rendered', renderComponentMacro, AtomSelect, fixtureDefault);\ntest('Atom › AtomSelect › Disabled › should be rendered', renderComponentMacro, AtomSelect, fixtureDisabled);\ntest('Atom › AtomSelect › Error › should be rendered', renderComponentMacro, AtomSelect, fixtureError);\ntest('Atom › AtomSelect › Filter › should be rendered', renderComponentMacro, AtomSelect, fixtureFilter);\ntest('Atom › AtomSelect › Invalid › should be rendered', renderComponentMacro, AtomSelect, fixtureInvalid);\ntest('Atom › AtomSelect › Modified › should be rendered', renderComponentMacro, AtomSelect, fixtureModified);\ntest('Atom › AtomSelect › Mooc › should be rendered', renderComponentMacro, AtomSelect, fixtureMooc);\ntest('Atom › AtomSelect › MultipleSelected › should be rendered', renderComponentMacro, AtomSelect, fixtureMultipleSelected);\ntest('Atom › AtomSelect › Multiple › should be rendered', renderComponentMacro, AtomSelect, fixtureMultiple);\ntest('Atom › AtomSelect › Player › should be rendered', renderComponentMacro, AtomSelect, fixturePlayer);\ntest('Atom › AtomSelect › Question › should be rendered', renderComponentMacro, AtomSelect, fixtureQuestion);\ntest('Atom › AtomSelect › RequiredWithTitle › should be rendered', renderComponentMacro, AtomSelect, fixtureRequiredWithTitle);\ntest('Atom › AtomSelect › Required › should be rendered', renderComponentMacro, AtomSelect, fixtureRequired);\ntest('Atom › AtomSelect › Sort › should be rendered', renderComponentMacro, AtomSelect, fixtureSort);\ntest('Atom › AtomSelect › Template › should be rendered', renderComponentMacro, AtomSelect, fixtureTemplate);\ntest('Atom › AtomSelect › ThematiquesLong › should be rendered', renderComponentMacro, AtomSelect, fixtureThematiquesLong);\ntest('Atom › AtomSelect › Thematiques › should be rendered', renderComponentMacro, AtomSelect, fixtureThematiques);\n"],"file":"fixtures.js"}