@coorpacademy/components 10.1.4 → 10.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/es/atom/button-link/index.js +2 -1
  2. package/es/atom/button-link/index.js.map +1 -1
  3. package/es/atom/chips/index.js +8 -4
  4. package/es/atom/chips/index.js.map +1 -1
  5. package/es/atom/chips/style.css +17 -2
  6. package/es/atom/chips/test/fixtures/long-text.js +9 -0
  7. package/es/atom/chips/test/fixtures/long-text.js.map +1 -0
  8. package/es/atom/input-checkbox/test/fixtures.js +2 -0
  9. package/es/atom/input-checkbox/test/fixtures.js.map +1 -1
  10. package/es/atom/input-search/style.css +1 -0
  11. package/es/atom/input-text/style.css +6 -2
  12. package/es/atom/input-textarea/style.css +3 -3
  13. package/es/atom/title/test/fixtures.js +6 -2
  14. package/es/atom/title/test/fixtures.js.map +1 -1
  15. package/es/molecule/coorp-manager-roles/test/fixtures.js +13 -0
  16. package/es/molecule/coorp-manager-roles/test/fixtures.js.map +1 -0
  17. package/es/molecule/feedback/test/fixtures.js +2 -0
  18. package/es/molecule/feedback/test/fixtures.js.map +1 -1
  19. package/es/molecule/popin/test/fixtures.js +21 -0
  20. package/es/molecule/popin/test/fixtures.js.map +1 -0
  21. package/es/molecule/quick-access-card/test/fixtures.js +21 -0
  22. package/es/molecule/quick-access-card/test/fixtures.js.map +1 -0
  23. package/es/molecule/quick-access-cards-group/test/fixtures.js +21 -0
  24. package/es/molecule/quick-access-cards-group/test/fixtures.js.map +1 -0
  25. package/es/molecule/select-multiple/index.js +113 -146
  26. package/es/molecule/select-multiple/index.js.map +1 -1
  27. package/es/molecule/select-multiple/test/index.js +20 -79
  28. package/es/molecule/select-multiple/test/index.js.map +1 -1
  29. package/es/organism/accordion/coorp-manager/part/test/fixtures.js +4 -0
  30. package/es/organism/accordion/coorp-manager/part/test/fixtures.js.map +1 -1
  31. package/es/organism/brand-analytics/test/fixtures.js +23 -0
  32. package/es/organism/brand-analytics/test/fixtures.js.map +1 -0
  33. package/es/organism/brand-dashboard/test/fixtures.js +2 -10
  34. package/es/organism/brand-dashboard/test/fixtures.js.map +1 -1
  35. package/es/organism/search-and-chips-results/index.js +91 -0
  36. package/es/organism/search-and-chips-results/index.js.map +1 -0
  37. package/es/organism/search-and-chips-results/style.css +57 -0
  38. package/es/organism/search-and-chips-results/test/fixtures/default.js +46 -0
  39. package/es/organism/search-and-chips-results/test/fixtures/default.js.map +1 -0
  40. package/es/organism/search-and-chips-results/test/fixtures/empty.js +23 -0
  41. package/es/organism/search-and-chips-results/test/fixtures/empty.js.map +1 -0
  42. package/es/organism/search-and-chips-results/test/fixtures/filtered.js +26 -0
  43. package/es/organism/search-and-chips-results/test/fixtures/filtered.js.map +1 -0
  44. package/es/organism/search-and-chips-results/test/fixtures/sorted-selected.js +49 -0
  45. package/es/organism/search-and-chips-results/test/fixtures/sorted-selected.js.map +1 -0
  46. package/es/organism/search-and-chips-results/test/fixtures/unsorted-selected.js +49 -0
  47. package/es/organism/search-and-chips-results/test/fixtures/unsorted-selected.js.map +1 -0
  48. package/es/template/app-player/popin-end/test/fixtures.js +2 -0
  49. package/es/template/app-player/popin-end/test/fixtures.js.map +1 -1
  50. package/es/template/back-office/brand-update/test/fixtures.js +2 -0
  51. package/es/template/back-office/brand-update/test/fixtures.js.map +1 -1
  52. package/lib/atom/button-link/index.js +1 -0
  53. package/lib/atom/button-link/index.js.map +1 -1
  54. package/lib/atom/chips/index.js +8 -4
  55. package/lib/atom/chips/index.js.map +1 -1
  56. package/lib/atom/chips/style.css +17 -2
  57. package/lib/atom/chips/test/fixtures/long-text.js +14 -0
  58. package/lib/atom/chips/test/fixtures/long-text.js.map +1 -0
  59. package/lib/atom/input-checkbox/test/fixtures.js +3 -0
  60. package/lib/atom/input-checkbox/test/fixtures.js.map +1 -1
  61. package/lib/atom/input-search/style.css +1 -0
  62. package/lib/atom/input-text/style.css +6 -2
  63. package/lib/atom/input-textarea/style.css +3 -3
  64. package/lib/atom/title/test/fixtures.js +8 -2
  65. package/lib/atom/title/test/fixtures.js.map +1 -1
  66. package/lib/molecule/coorp-manager-roles/test/fixtures.js +22 -0
  67. package/lib/molecule/coorp-manager-roles/test/fixtures.js.map +1 -0
  68. package/lib/molecule/feedback/test/fixtures.js +3 -0
  69. package/lib/molecule/feedback/test/fixtures.js.map +1 -1
  70. package/lib/molecule/popin/test/fixtures.js +34 -0
  71. package/lib/molecule/popin/test/fixtures.js.map +1 -0
  72. package/lib/molecule/quick-access-card/test/fixtures.js +34 -0
  73. package/lib/molecule/quick-access-card/test/fixtures.js.map +1 -0
  74. package/lib/molecule/quick-access-cards-group/test/fixtures.js +34 -0
  75. package/lib/molecule/quick-access-cards-group/test/fixtures.js.map +1 -0
  76. package/lib/molecule/select-multiple/index.js +117 -143
  77. package/lib/molecule/select-multiple/index.js.map +1 -1
  78. package/lib/molecule/select-multiple/test/index.js +25 -79
  79. package/lib/molecule/select-multiple/test/index.js.map +1 -1
  80. package/lib/organism/accordion/coorp-manager/part/test/fixtures.js +6 -0
  81. package/lib/organism/accordion/coorp-manager/part/test/fixtures.js.map +1 -1
  82. package/lib/organism/brand-analytics/test/fixtures.js +37 -0
  83. package/lib/organism/brand-analytics/test/fixtures.js.map +1 -0
  84. package/lib/organism/brand-dashboard/test/fixtures.js +2 -14
  85. package/lib/organism/brand-dashboard/test/fixtures.js.map +1 -1
  86. package/lib/organism/search-and-chips-results/index.js +104 -0
  87. package/lib/organism/search-and-chips-results/index.js.map +1 -0
  88. package/lib/organism/search-and-chips-results/style.css +57 -0
  89. package/lib/organism/search-and-chips-results/test/fixtures/default.js +51 -0
  90. package/lib/organism/search-and-chips-results/test/fixtures/default.js.map +1 -0
  91. package/lib/organism/search-and-chips-results/test/fixtures/empty.js +28 -0
  92. package/lib/organism/search-and-chips-results/test/fixtures/empty.js.map +1 -0
  93. package/lib/organism/search-and-chips-results/test/fixtures/filtered.js +31 -0
  94. package/lib/organism/search-and-chips-results/test/fixtures/filtered.js.map +1 -0
  95. package/lib/organism/search-and-chips-results/test/fixtures/sorted-selected.js +54 -0
  96. package/lib/organism/search-and-chips-results/test/fixtures/sorted-selected.js.map +1 -0
  97. package/lib/organism/search-and-chips-results/test/fixtures/unsorted-selected.js +54 -0
  98. package/lib/organism/search-and-chips-results/test/fixtures/unsorted-selected.js.map +1 -0
  99. package/lib/template/app-player/popin-end/test/fixtures.js +3 -0
  100. package/lib/template/app-player/popin-end/test/fixtures.js.map +1 -1
  101. package/lib/template/back-office/brand-update/test/fixtures.js +3 -0
  102. package/lib/template/back-office/brand-update/test/fixtures.js.map +1 -1
  103. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = void 0;
4
+ exports.default = exports.useChoices = void 0;
5
5
 
6
6
  var _set2 = _interopRequireDefault(require("lodash/fp/set"));
7
7
 
@@ -15,7 +15,7 @@ var _pipe2 = _interopRequireDefault(require("lodash/fp/pipe"));
15
15
 
16
16
  var _map2 = _interopRequireDefault(require("lodash/fp/map"));
17
17
 
18
- var _react = _interopRequireDefault(require("react"));
18
+ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
21
 
@@ -31,162 +31,136 @@ var _getClassState = _interopRequireDefault(require("../../util/get-class-state"
31
31
 
32
32
  var _style = _interopRequireDefault(require("./style.css"));
33
33
 
34
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
35
+
36
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
34
38
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
39
 
36
40
  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); }
37
41
 
38
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
-
40
42
  const themeStyle = {
41
43
  setup: _style.default.setup,
42
44
  cockpit: _style.default.cockpit,
43
45
  sidebar: _style.default.sidebar
44
46
  };
45
47
 
46
- class SelectMultiple extends _react.default.Component {
47
- constructor(props) {
48
- super(props);
49
-
50
- _defineProperty(this, "handleOnClick", e => {
51
- const {
52
- opened
53
- } = this.state;
54
- e.preventDefault();
55
- e.stopPropagation();
56
- this.setState({
57
- opened: !opened
58
- });
59
- });
60
-
61
- _defineProperty(this, "closeHandle", e => {
62
- if (this.node && !this.node.contains(e.target)) {
63
- this.setState({
64
- opened: false
65
- });
66
- }
67
- });
68
-
69
- _defineProperty(this, "handleChange", choice => {
70
- const {
71
- multiple,
72
- onChange
73
- } = this.props; // if multiple prop is turned on
74
- // we return all selected choices
75
-
76
- if (multiple) {
77
- this.choices = choice;
78
- return onChange(this.choices);
79
- }
80
-
81
- return onChange(choice);
82
- });
83
-
84
- this.state = {
85
- opened: false
86
- };
87
- this.node = null;
48
+ const useChoices = options => {
49
+ const choicesRef = (0, _react.useRef)(options);
88
50
 
89
- this.setNode = el => this.node = el;
90
- }
51
+ const getChoices = () => {
52
+ return choicesRef.current;
53
+ };
91
54
 
92
- componentDidMount() {
93
- if (typeof document !== 'undefined') {
94
- document.addEventListener('click', this.closeHandle);
95
- document.addEventListener('touchstart', this.closeHandle);
96
- }
97
- }
55
+ const setChoices = choice => {
56
+ const choices = (0, _set2.default)(`[${choice.i}].selected`, !choice.selected, getChoices());
57
+ choicesRef.current = choices.filter(c => c.selected);
58
+ };
59
+
60
+ return [getChoices, setChoices];
61
+ };
98
62
 
99
- componentWillUnmount() {
100
- if (typeof document !== 'undefined') {
101
- document.removeEventListener('click', this.closeHandle);
102
- document.removeEventListener('touchstart', this.closeHandle);
63
+ exports.useChoices = useChoices;
64
+
65
+ const SelectMultiple = ({
66
+ title,
67
+ options,
68
+ theme,
69
+ placeholder,
70
+ description,
71
+ multiple,
72
+ onChange,
73
+ modified = false,
74
+ required = false,
75
+ error = false
76
+ }, {
77
+ skin
78
+ }) => {
79
+ const [isOpened, updateIsOpened] = (0, _react.useState)(false);
80
+ const [getChoices, setChoices] = useChoices(options);
81
+ const nodeRef = (0, _react.useRef)(null);
82
+ const defaultColor = (0, _get2.default)('common.primary', skin);
83
+ const black = (0, _get2.default)('common.black', skin);
84
+ const handleOnClick = (0, _react.useCallback)(e => {
85
+ e.preventDefault();
86
+ e.stopPropagation();
87
+ updateIsOpened(prev => !prev);
88
+ }, []);
89
+ const closeHandle = (0, _react.useCallback)(e => {
90
+ if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {
91
+ updateIsOpened(false);
92
+ }
93
+ }, []);
94
+ const handleChange = (0, _react.useCallback)(choice => {
95
+ // if multiple prop is turned on
96
+ // we return all selected choices
97
+ if (multiple) {
98
+ setChoices(choice);
99
+ return onChange(getChoices());
103
100
  }
104
- }
105
-
106
- set choices(choice) {
107
- const choices = (0, _set2.default)(`[${choice.i}].selected`, !choice.selected, this._choices);
108
- this._choices = choices.filter(c => c.selected);
109
- }
110
-
111
- get choices() {
112
- return this._choices;
113
- }
114
-
115
- render() {
116
- const {
117
- skin
118
- } = this.context;
119
- const defaultColor = (0, _get2.default)('common.primary', skin);
120
- const black = (0, _get2.default)('common.black', skin);
121
- const {
122
- title,
123
- options,
124
- theme,
125
- placeholder,
126
- description,
127
- modified = false,
128
- required = false,
129
- error = false
130
- } = this.props;
131
- const {
132
- opened
133
- } = this.state;
134
- this._choices = options;
135
-
136
- const lines = _map2.default.convert({
137
- cap: false
138
- })((choice, i) => {
139
- return /*#__PURE__*/_react.default.createElement("li", {
140
- key: i,
141
- className: _style.default.choice
142
- }, /*#__PURE__*/_react.default.createElement(_titledCheckbox.default, {
143
- onToggle: this.handleChange,
144
- choice: _extends(_extends({}, choice), {}, {
145
- i
146
- }),
147
- background: defaultColor
148
- }));
149
- }, options);
150
-
151
- const selection = (0, _pipe2.default)((0, _filter2.default)({
152
- selected: true
153
- }), (0, _map2.default)('name'), (0, _join2.default)(', '))(options);
154
-
155
- const _title = title && `${title}${required ? ' *' : ''}`;
156
-
157
- const titleView = title ? /*#__PURE__*/_react.default.createElement("span", {
158
- className: _style.default.title
159
- }, _title, " ") : null;
160
- const isActive = opened === true;
161
- const mainClass = theme ? themeStyle[theme] : _style.default.default;
162
- const behaviourClassName = (0, _getClassState.default)(_style.default.default, _style.default.modified, _style.default.error, modified, error);
163
- return /*#__PURE__*/_react.default.createElement("div", {
164
- className: (0, _classnames.default)(mainClass, behaviourClassName),
165
- ref: this.setNode
166
- }, /*#__PURE__*/_react.default.createElement("label", null, titleView, /*#__PURE__*/_react.default.createElement("div", {
167
- className: _style.default.select,
168
- title: selection || placeholder,
169
- onClick: this.handleOnClick
170
- }, selection || placeholder, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowDown, {
171
- color: black,
172
- className: (0, _classnames.default)(_style.default.arrow, {
173
- [_style.default.down]: isActive
174
- })
175
- })), /*#__PURE__*/_react.default.createElement("div", {
176
- className: isActive ? _style.default.activeChoices : _style.default.choices
177
- }, /*#__PURE__*/_react.default.createElement("ul", {
178
- className: _style.default.list
179
- }, lines))), /*#__PURE__*/_react.default.createElement("div", {
180
- className: _style.default.description
181
- }, description));
182
- }
183
-
184
- }
185
-
186
- _defineProperty(SelectMultiple, "contextTypes", {
187
- skin: _provider.default.childContextTypes.skin
188
- });
189
101
 
102
+ return onChange(choice);
103
+ }, [setChoices, multiple, onChange]);
104
+ (0, _react.useEffect)(() => {
105
+ document.addEventListener('click', closeHandle);
106
+ document.addEventListener('touchstart', closeHandle);
107
+ return () => {
108
+ document.removeEventListener('click', closeHandle);
109
+ document.removeEventListener('touchstart', closeHandle);
110
+ };
111
+ }, [closeHandle]);
112
+
113
+ const lines = _map2.default.convert({
114
+ cap: false
115
+ })((choice, i) => {
116
+ return /*#__PURE__*/_react.default.createElement("li", {
117
+ key: i,
118
+ className: _style.default.choice
119
+ }, /*#__PURE__*/_react.default.createElement(_titledCheckbox.default, {
120
+ onToggle: handleChange,
121
+ choice: _extends(_extends({}, choice), {}, {
122
+ i
123
+ }),
124
+ background: defaultColor
125
+ }));
126
+ }, options);
127
+
128
+ const selection = (0, _pipe2.default)((0, _filter2.default)({
129
+ selected: true
130
+ }), (0, _map2.default)('name'), (0, _join2.default)(', '))(options);
131
+
132
+ const _title = title && `${title}${required ? ' *' : ''}`;
133
+
134
+ const titleView = title ? /*#__PURE__*/_react.default.createElement("span", {
135
+ className: _style.default.title
136
+ }, _title, " ") : null;
137
+ const isActive = isOpened === true;
138
+ const mainClass = theme ? themeStyle[theme] : _style.default.default;
139
+ const behaviourClassName = (0, _getClassState.default)(_style.default.default, _style.default.modified, _style.default.error, modified, error);
140
+ return /*#__PURE__*/_react.default.createElement("div", {
141
+ className: (0, _classnames.default)(mainClass, behaviourClassName),
142
+ ref: nodeRef
143
+ }, /*#__PURE__*/_react.default.createElement("label", null, titleView, /*#__PURE__*/_react.default.createElement("div", {
144
+ className: _style.default.select,
145
+ title: selection || placeholder,
146
+ onClick: handleOnClick
147
+ }, selection || placeholder, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowDown, {
148
+ color: black,
149
+ className: (0, _classnames.default)(_style.default.arrow, {
150
+ [_style.default.down]: isActive
151
+ })
152
+ })), /*#__PURE__*/_react.default.createElement("div", {
153
+ className: isActive ? _style.default.activeChoices : _style.default.choices
154
+ }, /*#__PURE__*/_react.default.createElement("ul", {
155
+ className: _style.default.list
156
+ }, lines))), /*#__PURE__*/_react.default.createElement("div", {
157
+ className: _style.default.description
158
+ }, description));
159
+ };
160
+
161
+ SelectMultiple.contextTypes = {
162
+ skin: _provider.default.childContextTypes.skin
163
+ };
190
164
  SelectMultiple.propTypes = process.env.NODE_ENV !== "production" ? {
191
165
  title: _propTypes.default.string,
192
166
  placeholder: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["themeStyle","setup","style","cockpit","sidebar","SelectMultiple","React","Component","constructor","props","e","opened","state","preventDefault","stopPropagation","setState","node","contains","target","choice","multiple","onChange","choices","setNode","el","componentDidMount","document","addEventListener","closeHandle","componentWillUnmount","removeEventListener","i","selected","_choices","filter","c","render","skin","context","defaultColor","black","title","options","theme","placeholder","description","modified","required","error","lines","convert","cap","handleChange","selection","_title","titleView","isActive","mainClass","default","behaviourClassName","select","handleOnClick","arrow","down","activeChoices","list","Provider","childContextTypes","propTypes","PropTypes","string","arrayOf","TitledCheckbox","func","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\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};\n\nclass SelectMultiple extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n multiple: PropTypes.bool,\n theme: PropTypes.string,\n modified: PropTypes.bool,\n required: PropTypes.bool,\n error: PropTypes.bool\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n opened: false\n };\n\n this.node = null;\n this.setNode = el => (this.node = el);\n }\n\n componentDidMount() {\n if (typeof document !== 'undefined') {\n document.addEventListener('click', this.closeHandle);\n document.addEventListener('touchstart', this.closeHandle);\n }\n }\n\n componentWillUnmount() {\n if (typeof document !== 'undefined') {\n document.removeEventListener('click', this.closeHandle);\n document.removeEventListener('touchstart', this.closeHandle);\n }\n }\n\n handleOnClick = e => {\n const {opened} = this.state;\n e.preventDefault();\n e.stopPropagation();\n\n this.setState({opened: !opened});\n };\n\n closeHandle = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.setState({opened: false});\n }\n };\n\n set choices(choice) {\n const choices = set(`[${choice.i}].selected`, !choice.selected, this._choices);\n\n this._choices = choices.filter(c => c.selected);\n }\n\n get choices() {\n return this._choices;\n }\n\n handleChange = choice => {\n const {multiple, onChange} = this.props;\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n this.choices = choice;\n\n return onChange(this.choices);\n }\n\n return onChange(choice);\n };\n\n render() {\n const {skin} = this.context;\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n const {\n title,\n options,\n theme,\n placeholder,\n description,\n modified = false,\n required = false,\n error = false\n } = this.props;\n const {opened} = this.state;\n\n this._choices = options;\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li key={i} className={style.choice}>\n <TitledCheckbox\n onToggle={this.handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n </li>\n );\n }, options);\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const _title = title && `${title}${required ? ' *' : ''}`;\n\n const titleView = title ? <span className={style.title}>{_title} </span> : null;\n const isActive = opened === true;\n const mainClass = theme ? themeStyle[theme] : style.default;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n return (\n <div className={classnames(mainClass, behaviourClassName)} ref={this.setNode}>\n <label>\n {titleView}\n <div\n className={style.select}\n title={selection || placeholder}\n onClick={this.handleOnClick}\n >\n {selection || placeholder}\n <ArrowDown\n color={black}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n <div className={isActive ? style.activeChoices : style.choices}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n }\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","useChoices","options","choicesRef","getChoices","current","setChoices","choice","choices","i","selected","filter","c","SelectMultiple","title","theme","placeholder","description","multiple","onChange","modified","required","error","skin","isOpened","updateIsOpened","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","handleChange","document","addEventListener","removeEventListener","lines","convert","cap","selection","_title","titleView","isActive","mainClass","default","behaviourClassName","select","arrow","down","activeChoices","list","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","arrayOf","TitledCheckbox","func","bool"],"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} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\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};\n\nexport const useChoices = options => {\n const choicesRef = useRef(options);\n\n const getChoices = () => {\n return choicesRef.current;\n };\n\n const setChoices = choice => {\n const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n choicesRef.current = choices.filter(c => c.selected);\n };\n\n return [getChoices, setChoices];\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n multiple,\n onChange,\n modified = false,\n required = false,\n error = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(e => {\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n }, []);\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n setChoices(choice);\n\n return onChange(getChoices());\n }\n\n return onChange(choice);\n },\n [setChoices, 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 lines = map.convert({cap: false})((choice, i) => {\n return (\n <li key={i} className={style.choice}>\n <TitledCheckbox onToggle={handleChange} choice={{...choice, i}} background={defaultColor} />\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 titleView = title ? <span className={style.title}>{_title} </span> : null;\n const isActive = isOpened === true;\n const mainClass = theme ? themeStyle[theme] : style.default;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n return (\n <div className={classnames(mainClass, behaviourClassName)} ref={nodeRef}>\n <label>\n {titleView}\n <div className={style.select} title={selection || placeholder} onClick={handleOnClick}>\n {selection || placeholder}\n <ArrowDown color={black} className={classnames(style.arrow, {[style.down]: isActive})} />\n </div>\n <div className={isActive ? style.activeChoices : style.choices}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n multiple: PropTypes.bool,\n theme: PropTypes.string,\n modified: PropTypes.bool,\n required: PropTypes.bool,\n error: PropTypes.bool\n};\n\nexport default SelectMultiple;\n"],"file":"index.js"}
@@ -4,16 +4,22 @@ var _browserEnv = _interopRequireDefault(require("browser-env"));
4
4
 
5
5
  var _ava = _interopRequireDefault(require("ava"));
6
6
 
7
+ var _flatten = _interopRequireDefault(require("lodash/fp/flatten"));
8
+
7
9
  var _react = _interopRequireDefault(require("react"));
8
10
 
9
11
  var _enzyme = require("enzyme");
10
12
 
11
13
  var _enzymeAdapterReact = _interopRequireDefault(require("enzyme-adapter-react-16"));
12
14
 
13
- var _ = _interopRequireDefault(require(".."));
15
+ var _ = _interopRequireWildcard(require(".."));
14
16
 
15
17
  var _checked = _interopRequireDefault(require("./fixtures/checked"));
16
18
 
19
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
20
+
21
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
+
17
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
24
 
19
25
  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); }
@@ -22,49 +28,19 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
22
28
  (0, _enzyme.configure)({
23
29
  adapter: new _enzymeAdapterReact.default()
24
30
  });
25
- (0, _ava.default)('should open and close list', t => {
26
- t.plan(8);
27
- const clickEvent = {
28
- preventDefault: () => t.pass(),
29
- stopPropagation: () => t.pass()
30
- };
31
- const props = _checked.default.props;
32
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, props));
33
- const selectWrapper = wrapper.find('.select-multiple__select');
34
- t.is(wrapper.state().opened, false);
35
- t.is(selectWrapper.exists(), true);
36
- selectWrapper.simulate('click', clickEvent);
37
- t.is(wrapper.state().opened, true);
38
- selectWrapper.simulate('click', clickEvent);
39
- t.is(wrapper.state().opened, false);
40
- });
41
- (0, _ava.default)('should select choice', t => {
42
- t.plan(8);
43
- const clickEvent = {
44
- preventDefault: () => t.pass(),
45
- stopPropagation: () => t.pass()
31
+
32
+ const setup = options => {
33
+ const returnVal = [];
34
+
35
+ const TestComponent = () => {
36
+ returnVal.push((0, _.useChoices)(options));
37
+ return null;
46
38
  };
47
39
 
48
- const props = _extends(_extends({}, _checked.default.props), {}, {
49
- onChange: evt => {
50
- t.is(evt.value, 'digital');
51
- t.pass();
52
- }
53
- });
40
+ (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(TestComponent, null));
41
+ return (0, _flatten.default)(returnVal);
42
+ };
54
43
 
55
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, props));
56
- const selectWrapper = wrapper.find('.select-multiple__select');
57
- wrapper.update();
58
- t.is(wrapper.state().opened, false);
59
- t.is(selectWrapper.exists(), true);
60
- selectWrapper.simulate('click', clickEvent);
61
- wrapper.update();
62
- t.is(wrapper.state().opened, true);
63
- const checkbox = wrapper.find('[checked=false]').first();
64
- checkbox.simulate('change');
65
- t.is(wrapper.state().opened, true);
66
- wrapper.update();
67
- });
68
44
  (0, _ava.default)('should select array of choices when props.multiple is set', t => {
69
45
  t.plan(2);
70
46
 
@@ -83,51 +59,21 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
83
59
  props
84
60
  });
85
61
  });
86
- (0, _ava.default)('should click outside', t => {
87
- t.plan(10);
88
- const clickEvent = {
89
- preventDefault: () => t.pass(),
90
- stopPropagation: () => t.pass()
91
- };
92
- const props = _checked.default.props;
93
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, props));
94
- const selectWrapper = wrapper.find('.select-multiple__select');
95
- const instance = wrapper.instance();
96
- wrapper.update();
97
- t.is(wrapper.state().opened, false);
98
- t.is(selectWrapper.exists(), true);
99
- selectWrapper.simulate('click', clickEvent);
100
- wrapper.update();
101
- t.is(wrapper.state().opened, true);
102
- instance.closeHandle({
103
- target: null
104
- });
105
- t.is(wrapper.state().opened, false);
106
- selectWrapper.simulate('click', clickEvent);
107
- wrapper.update();
108
- t.is(wrapper.state().opened, true);
109
- instance.closeHandle({
110
- target: selectWrapper.getDOMNode()
111
- });
112
- t.is(wrapper.state().opened, true);
113
- wrapper.update();
114
- wrapper.unmount();
115
- });
116
62
  (0, _ava.default)('should return choices (getter)', t => {
117
63
  const props = _extends({}, _checked.default.props);
118
64
 
119
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, props));
120
- t.is(wrapper.instance().choices.length, 4, 'not returning expected choices');
65
+ const [getChoices] = setup(props.options);
66
+ t.is(getChoices().length, 4, 'not returning expected choices');
121
67
  });
122
68
  (0, _ava.default)('should set current choice (setter)', t => {
123
69
  const props = _extends({}, _checked.default.props);
124
70
 
125
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, props));
126
- const instance = wrapper.instance();
127
- t.is(instance.choices[0].selected, false, 'not setting correctly expected value for choice[0]');
128
- instance.choices = _extends(_extends({}, props.options[0]), {}, {
71
+ const [getChoices, setChoices] = setup(props.options);
72
+ const choices = getChoices();
73
+ t.is(choices[0].selected, false, 'not setting correctly expected value for choice[0]');
74
+ setChoices(_extends(_extends({}, props.options[0]), {}, {
129
75
  i: 0
130
- });
131
- t.is(instance.choices[0].selected, true, 'not updating correctly expected value for choice[0]');
76
+ }));
77
+ t.is(getChoices()[0].selected, true, 'not updating correctly expected value for choice[0]');
132
78
  });
133
79
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/select-multiple/test/index.js"],"names":["adapter","Adapter","t","plan","clickEvent","preventDefault","pass","stopPropagation","props","defaultFixture","wrapper","selectWrapper","find","is","state","opened","exists","simulate","onChange","evt","value","update","checkbox","first","multiple","choices","true","Array","isArray","instance","closeHandle","target","getDOMNode","unmount","length","selected","options","i"],"mappings":"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","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {mount, configure} from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport SelectMultiple from '..';\nimport defaultFixture from './fixtures/checked';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\n\ntest('should open and close list', t => {\n t.plan(8);\n\n const clickEvent = {preventDefault: () => t.pass(), stopPropagation: () => t.pass()};\n const props = defaultFixture.props;\n const wrapper = mount(<SelectMultiple {...props} />);\n const selectWrapper = wrapper.find('.select-multiple__select');\n\n t.is(wrapper.state().opened, false);\n\n t.is(selectWrapper.exists(), true);\n\n selectWrapper.simulate('click', clickEvent);\n\n t.is(wrapper.state().opened, true);\n\n selectWrapper.simulate('click', clickEvent);\n\n t.is(wrapper.state().opened, false);\n});\n\ntest('should select choice', t => {\n t.plan(8);\n\n const clickEvent = {preventDefault: () => t.pass(), stopPropagation: () => t.pass()};\n const props = {\n ...defaultFixture.props,\n onChange: evt => {\n t.is(evt.value, 'digital');\n\n t.pass();\n }\n };\n const wrapper = mount(<SelectMultiple {...props} />);\n const selectWrapper = wrapper.find('.select-multiple__select');\n\n wrapper.update();\n\n t.is(wrapper.state().opened, false);\n\n t.is(selectWrapper.exists(), true);\n\n selectWrapper.simulate('click', clickEvent);\n\n wrapper.update();\n\n t.is(wrapper.state().opened, true);\n\n const checkbox = wrapper.find('[checked=false]').first();\n\n checkbox.simulate('change');\n\n t.is(wrapper.state().opened, true);\n\n wrapper.update();\n});\n\ntest('should select array of choices when props.multiple is set', t => {\n t.plan(2);\n const props = {\n ...defaultFixture.props,\n multiple: true,\n onChange: choices => {\n t.true(Array.isArray(choices), 'dffdff');\n t.pass();\n }\n };\n\n const wrapper = mount(<SelectMultiple {...props} />);\n\n wrapper.update();\n\n const checkbox = wrapper.find('[checked=false]').first();\n\n checkbox.simulate('change', {props});\n});\n\ntest('should click outside', t => {\n t.plan(10);\n\n const clickEvent = {preventDefault: () => t.pass(), stopPropagation: () => t.pass()};\n const props = defaultFixture.props;\n const wrapper = mount(<SelectMultiple {...props} />);\n const selectWrapper = wrapper.find('.select-multiple__select');\n const instance = wrapper.instance();\n\n wrapper.update();\n\n t.is(wrapper.state().opened, false);\n\n t.is(selectWrapper.exists(), true);\n\n selectWrapper.simulate('click', clickEvent);\n\n wrapper.update();\n\n t.is(wrapper.state().opened, true);\n\n instance.closeHandle({target: null});\n\n t.is(wrapper.state().opened, false);\n\n selectWrapper.simulate('click', clickEvent);\n\n wrapper.update();\n\n t.is(wrapper.state().opened, true);\n\n instance.closeHandle({target: selectWrapper.getDOMNode()});\n\n t.is(wrapper.state().opened, true);\n\n wrapper.update();\n\n wrapper.unmount();\n});\n\ntest('should return choices (getter)', t => {\n const props = {...defaultFixture.props};\n const wrapper = mount(<SelectMultiple {...props} />);\n\n t.is(wrapper.instance().choices.length, 4, 'not returning expected choices');\n});\n\ntest('should set current choice (setter)', t => {\n const props = {...defaultFixture.props};\n const wrapper = mount(<SelectMultiple {...props} />);\n const instance = wrapper.instance();\n\n t.is(instance.choices[0].selected, false, 'not setting correctly expected value for choice[0]');\n\n instance.choices = {...props.options[0], i: 0};\n\n t.is(instance.choices[0].selected, true, 'not updating correctly expected value for choice[0]');\n});\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/select-multiple/test/index.js"],"names":["adapter","Adapter","setup","options","returnVal","TestComponent","push","t","plan","props","defaultFixture","multiple","onChange","choices","true","Array","isArray","pass","wrapper","update","checkbox","find","first","simulate","getChoices","is","length","setChoices","selected","i"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA;AACA,uBAAU;AAACA,EAAAA,OAAO,EAAE,IAAIC,2BAAJ;AAAV,CAAV;;AAEA,MAAMC,KAAK,GAAGC,OAAO,IAAI;AACvB,QAAMC,SAAS,GAAG,EAAlB;;AACA,QAAMC,aAAa,GAAG,MAAM;AAC1BD,IAAAA,SAAS,CAACE,IAAV,CAAe,kBAAWH,OAAX,CAAf;AACA,WAAO,IAAP;AACD,GAHD;;AAKA,mCAAM,6BAAC,aAAD,OAAN;AACA,SAAO,sBAAQC,SAAR,CAAP;AACD,CATD;;AAWA,kBAAK,2DAAL,EAAkEG,CAAC,IAAI;AACrEA,EAAAA,CAAC,CAACC,IAAF,CAAO,CAAP;;AACA,QAAMC,KAAK,yBACNC,iBAAeD,KADT;AAETE,IAAAA,QAAQ,EAAE,IAFD;AAGTC,IAAAA,QAAQ,EAAEC,OAAO,IAAI;AACnBN,MAAAA,CAAC,CAACO,IAAF,CAAOC,KAAK,CAACC,OAAN,CAAcH,OAAd,CAAP,EAA+B,QAA/B;AACAN,MAAAA,CAAC,CAACU,IAAF;AACD;AANQ,IAAX;;AASA,QAAMC,OAAO,GAAG,iCAAM,6BAAC,SAAD,EAAoBT,KAApB,CAAN,CAAhB;AAEAS,EAAAA,OAAO,CAACC,MAAR;AAEA,QAAMC,QAAQ,GAAGF,OAAO,CAACG,IAAR,CAAa,iBAAb,EAAgCC,KAAhC,EAAjB;AAEAF,EAAAA,QAAQ,CAACG,QAAT,CAAkB,QAAlB,EAA4B;AAACd,IAAAA;AAAD,GAA5B;AACD,CAlBD;AAoBA,kBAAK,gCAAL,EAAuCF,CAAC,IAAI;AAC1C,QAAME,KAAK,gBAAOC,iBAAeD,KAAtB,CAAX;;AACA,QAAM,CAACe,UAAD,IAAetB,KAAK,CAACO,KAAK,CAACN,OAAP,CAA1B;AAEAI,EAAAA,CAAC,CAACkB,EAAF,CAAKD,UAAU,GAAGE,MAAlB,EAA0B,CAA1B,EAA6B,gCAA7B;AACD,CALD;AAOA,kBAAK,oCAAL,EAA2CnB,CAAC,IAAI;AAC9C,QAAME,KAAK,gBAAOC,iBAAeD,KAAtB,CAAX;;AACA,QAAM,CAACe,UAAD,EAAaG,UAAb,IAA2BzB,KAAK,CAACO,KAAK,CAACN,OAAP,CAAtC;AACA,QAAMU,OAAO,GAAGW,UAAU,EAA1B;AAEAjB,EAAAA,CAAC,CAACkB,EAAF,CAAKZ,OAAO,CAAC,CAAD,CAAP,CAAWe,QAAhB,EAA0B,KAA1B,EAAiC,oDAAjC;AAEAD,EAAAA,UAAU,uBAAKlB,KAAK,CAACN,OAAN,CAAc,CAAd,CAAL;AAAuB0B,IAAAA,CAAC,EAAE;AAA1B,KAAV;AAEAtB,EAAAA,CAAC,CAACkB,EAAF,CAAKD,UAAU,GAAG,CAAH,CAAV,CAAgBI,QAArB,EAA+B,IAA/B,EAAqC,qDAArC;AACD,CAVD","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport flatten from 'lodash/fp/flatten';\nimport React from 'react';\nimport {mount, configure} from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport SelectMultiple, {useChoices} from '..';\nimport defaultFixture from './fixtures/checked';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\n\nconst setup = options => {\n const returnVal = [];\n const TestComponent = () => {\n returnVal.push(useChoices(options));\n return null;\n };\n\n mount(<TestComponent />);\n return flatten(returnVal);\n};\n\ntest('should select array of choices when props.multiple is set', t => {\n t.plan(2);\n const props = {\n ...defaultFixture.props,\n multiple: true,\n onChange: choices => {\n t.true(Array.isArray(choices), 'dffdff');\n t.pass();\n }\n };\n\n const wrapper = mount(<SelectMultiple {...props} />);\n\n wrapper.update();\n\n const checkbox = wrapper.find('[checked=false]').first();\n\n checkbox.simulate('change', {props});\n});\n\ntest('should return choices (getter)', t => {\n const props = {...defaultFixture.props};\n const [getChoices] = setup(props.options);\n\n t.is(getChoices().length, 4, 'not returning expected choices');\n});\n\ntest('should set current choice (setter)', t => {\n const props = {...defaultFixture.props};\n const [getChoices, setChoices] = setup(props.options);\n const choices = getChoices();\n\n t.is(choices[0].selected, false, 'not setting correctly expected value for choice[0]');\n\n setChoices({...props.options[0], i: 0});\n\n t.is(getChoices()[0].selected, true, 'not updating correctly expected value for choice[0]');\n});\n"],"file":"index.js"}
@@ -10,6 +10,10 @@ var _ = _interopRequireDefault(require(".."));
10
10
 
11
11
  var _defaut = _interopRequireDefault(require("./fixtures/defaut"));
12
12
 
13
+ var _iconLink = _interopRequireDefault(require("./fixtures/icon-link"));
14
+
15
+ var _simpletab = _interopRequireDefault(require("./fixtures/simpletab"));
16
+
13
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
18
 
15
19
  (0, _ava.default)('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart > should have valid propTypes', t => {
@@ -19,4 +23,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
19
23
  });
20
24
  });
21
25
  (0, _ava.default)('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart › Defaut › should be rendered', _renderComponent.default, _.default, _defaut.default);
26
+ (0, _ava.default)('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart › IconLink › should be rendered', _renderComponent.default, _.default, _iconLink.default);
27
+ (0, _ava.default)('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart › Simpletab › should be rendered', _renderComponent.default, _.default, _simpletab.default);
22
28
  //# sourceMappingURL=fixtures.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/organism/accordion/coorp-manager/part/test/fixtures.js"],"names":["t","pass","OrganismAccordionCoorpManagerPart","propTypes","value","key","not","undefined","renderComponentMacro","fixtureDefaut"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,iGAAL,EAAwGA,CAAC,IAAI;AAC3GA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAAkCC,SAA1C,EAAqD,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACnEL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,2FAA0FF,GAAI,mEAAvH;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,iGAAL,EAAwGG,wBAAxG,EAA8HN,SAA9H,EAAiKO,eAAjK","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../../../test/helpers/render-component';\nimport OrganismAccordionCoorpManagerPart from '..';\nimport fixtureDefaut from './fixtures/defaut';\n\ntest('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart > should have valid propTypes', t => {\n t.pass();\n forEach(OrganismAccordionCoorpManagerPart.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"OrganismAccordionCoorpManager.OrganismAccordionCoorpManagerPart.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart › Defaut › should be rendered', renderComponentMacro, OrganismAccordionCoorpManagerPart, fixtureDefaut);\n"],"file":"fixtures.js"}
1
+ {"version":3,"sources":["../../../../../../src/organism/accordion/coorp-manager/part/test/fixtures.js"],"names":["t","pass","OrganismAccordionCoorpManagerPart","propTypes","value","key","not","undefined","renderComponentMacro","fixtureDefaut","fixtureIconLink","fixtureSimpletab"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,iGAAL,EAAwGA,CAAC,IAAI;AAC3GA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAAkCC,SAA1C,EAAqD,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACnEL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,2FAA0FF,GAAI,mEAAvH;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,iGAAL,EAAwGG,wBAAxG,EAA8HN,SAA9H,EAAiKO,eAAjK;AACA,kBAAK,mGAAL,EAA0GD,wBAA1G,EAAgIN,SAAhI,EAAmKQ,iBAAnK;AACA,kBAAK,oGAAL,EAA2GF,wBAA3G,EAAiIN,SAAjI,EAAoKS,kBAApK","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../../../test/helpers/render-component';\nimport OrganismAccordionCoorpManagerPart from '..';\nimport fixtureDefaut from './fixtures/defaut';\nimport fixtureIconLink from './fixtures/icon-link';\nimport fixtureSimpletab from './fixtures/simpletab';\n\ntest('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart > should have valid propTypes', t => {\n t.pass();\n forEach(OrganismAccordionCoorpManagerPart.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"OrganismAccordionCoorpManager.OrganismAccordionCoorpManagerPart.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart › Defaut › should be rendered', renderComponentMacro, OrganismAccordionCoorpManagerPart, fixtureDefaut);\ntest('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart › IconLink › should be rendered', renderComponentMacro, OrganismAccordionCoorpManagerPart, fixtureIconLink);\ntest('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart › Simpletab › should be rendered', renderComponentMacro, OrganismAccordionCoorpManagerPart, fixtureSimpletab);\n"],"file":"fixtures.js"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _ava = _interopRequireDefault(require("ava"));
4
+
5
+ var _forEach = _interopRequireDefault(require("lodash/forEach"));
6
+
7
+ var _renderComponent = _interopRequireDefault(require("../../../test/helpers/render-component"));
8
+
9
+ var _ = _interopRequireDefault(require(".."));
10
+
11
+ var _default = _interopRequireDefault(require("./fixtures/default"));
12
+
13
+ var _error = _interopRequireDefault(require("./fixtures/error"));
14
+
15
+ var _loading = _interopRequireDefault(require("./fixtures/loading"));
16
+
17
+ var _selectedError = _interopRequireDefault(require("./fixtures/selected-error"));
18
+
19
+ var _selectedLoading = _interopRequireDefault(require("./fixtures/selected-loading"));
20
+
21
+ var _selected = _interopRequireDefault(require("./fixtures/selected"));
22
+
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+
25
+ (0, _ava.default)('Organism › OrganismBrandAnalytics > should have valid propTypes', t => {
26
+ t.pass();
27
+ (0, _forEach.default)(_.default.propTypes, (value, key) => {
28
+ t.not(value, undefined, `PropType for "Organism.OrganismBrandAnalytics.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
29
+ });
30
+ });
31
+ (0, _ava.default)('Organism › OrganismBrandAnalytics › Default › should be rendered', _renderComponent.default, _.default, _default.default);
32
+ (0, _ava.default)('Organism › OrganismBrandAnalytics › Error › should be rendered', _renderComponent.default, _.default, _error.default);
33
+ (0, _ava.default)('Organism › OrganismBrandAnalytics › Loading › should be rendered', _renderComponent.default, _.default, _loading.default);
34
+ (0, _ava.default)('Organism › OrganismBrandAnalytics › SelectedError › should be rendered', _renderComponent.default, _.default, _selectedError.default);
35
+ (0, _ava.default)('Organism › OrganismBrandAnalytics › SelectedLoading › should be rendered', _renderComponent.default, _.default, _selectedLoading.default);
36
+ (0, _ava.default)('Organism › OrganismBrandAnalytics › Selected › should be rendered', _renderComponent.default, _.default, _selected.default);
37
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/organism/brand-analytics/test/fixtures.js"],"names":["t","pass","OrganismBrandAnalytics","propTypes","value","key","not","undefined","renderComponentMacro","fixtureDefault","fixtureError","fixtureLoading","fixtureSelectedError","fixtureSelectedLoading","fixtureSelected"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,iEAAL,EAAwEA,CAAC,IAAI;AAC3EA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAAuBC,SAA/B,EAA0C,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACxDL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,2DAA0DF,GAAI,mEAAvF;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,kEAAL,EAAyEG,wBAAzE,EAA+FN,SAA/F,EAAuHO,gBAAvH;AACA,kBAAK,gEAAL,EAAuED,wBAAvE,EAA6FN,SAA7F,EAAqHQ,cAArH;AACA,kBAAK,kEAAL,EAAyEF,wBAAzE,EAA+FN,SAA/F,EAAuHS,gBAAvH;AACA,kBAAK,wEAAL,EAA+EH,wBAA/E,EAAqGN,SAArG,EAA6HU,sBAA7H;AACA,kBAAK,0EAAL,EAAiFJ,wBAAjF,EAAuGN,SAAvG,EAA+HW,wBAA/H;AACA,kBAAK,mEAAL,EAA0EL,wBAA1E,EAAgGN,SAAhG,EAAwHY,iBAAxH","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport OrganismBrandAnalytics from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureError from './fixtures/error';\nimport fixtureLoading from './fixtures/loading';\nimport fixtureSelectedError from './fixtures/selected-error';\nimport fixtureSelectedLoading from './fixtures/selected-loading';\nimport fixtureSelected from './fixtures/selected';\n\ntest('Organism › OrganismBrandAnalytics > should have valid propTypes', t => {\n t.pass();\n forEach(OrganismBrandAnalytics.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Organism.OrganismBrandAnalytics.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Organism › OrganismBrandAnalytics › Default › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureDefault);\ntest('Organism › OrganismBrandAnalytics › Error › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureError);\ntest('Organism › OrganismBrandAnalytics › Loading › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureLoading);\ntest('Organism › OrganismBrandAnalytics › SelectedError › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureSelectedError);\ntest('Organism › OrganismBrandAnalytics › SelectedLoading › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureSelectedLoading);\ntest('Organism › OrganismBrandAnalytics › Selected › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureSelected);\n"],"file":"fixtures.js"}