@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.
- package/es/atom/button-link/index.js +2 -1
- package/es/atom/button-link/index.js.map +1 -1
- package/es/atom/chips/index.js +8 -4
- package/es/atom/chips/index.js.map +1 -1
- package/es/atom/chips/style.css +17 -2
- package/es/atom/chips/test/fixtures/long-text.js +9 -0
- package/es/atom/chips/test/fixtures/long-text.js.map +1 -0
- package/es/atom/input-checkbox/test/fixtures.js +2 -0
- package/es/atom/input-checkbox/test/fixtures.js.map +1 -1
- package/es/atom/input-search/style.css +1 -0
- package/es/atom/input-text/style.css +6 -2
- package/es/atom/input-textarea/style.css +3 -3
- package/es/atom/title/test/fixtures.js +6 -2
- package/es/atom/title/test/fixtures.js.map +1 -1
- package/es/molecule/coorp-manager-roles/test/fixtures.js +13 -0
- package/es/molecule/coorp-manager-roles/test/fixtures.js.map +1 -0
- package/es/molecule/feedback/test/fixtures.js +2 -0
- package/es/molecule/feedback/test/fixtures.js.map +1 -1
- package/es/molecule/popin/test/fixtures.js +21 -0
- package/es/molecule/popin/test/fixtures.js.map +1 -0
- package/es/molecule/quick-access-card/test/fixtures.js +21 -0
- package/es/molecule/quick-access-card/test/fixtures.js.map +1 -0
- package/es/molecule/quick-access-cards-group/test/fixtures.js +21 -0
- package/es/molecule/quick-access-cards-group/test/fixtures.js.map +1 -0
- package/es/molecule/select-multiple/index.js +113 -146
- package/es/molecule/select-multiple/index.js.map +1 -1
- package/es/molecule/select-multiple/test/index.js +20 -79
- package/es/molecule/select-multiple/test/index.js.map +1 -1
- package/es/organism/accordion/coorp-manager/part/test/fixtures.js +4 -0
- package/es/organism/accordion/coorp-manager/part/test/fixtures.js.map +1 -1
- package/es/organism/brand-analytics/test/fixtures.js +23 -0
- package/es/organism/brand-analytics/test/fixtures.js.map +1 -0
- package/es/organism/brand-dashboard/test/fixtures.js +2 -10
- package/es/organism/brand-dashboard/test/fixtures.js.map +1 -1
- package/es/organism/search-and-chips-results/index.js +91 -0
- package/es/organism/search-and-chips-results/index.js.map +1 -0
- package/es/organism/search-and-chips-results/style.css +57 -0
- package/es/organism/search-and-chips-results/test/fixtures/default.js +46 -0
- package/es/organism/search-and-chips-results/test/fixtures/default.js.map +1 -0
- package/es/organism/search-and-chips-results/test/fixtures/empty.js +23 -0
- package/es/organism/search-and-chips-results/test/fixtures/empty.js.map +1 -0
- package/es/organism/search-and-chips-results/test/fixtures/filtered.js +26 -0
- package/es/organism/search-and-chips-results/test/fixtures/filtered.js.map +1 -0
- package/es/organism/search-and-chips-results/test/fixtures/sorted-selected.js +49 -0
- package/es/organism/search-and-chips-results/test/fixtures/sorted-selected.js.map +1 -0
- package/es/organism/search-and-chips-results/test/fixtures/unsorted-selected.js +49 -0
- package/es/organism/search-and-chips-results/test/fixtures/unsorted-selected.js.map +1 -0
- package/es/template/app-player/popin-end/test/fixtures.js +2 -0
- package/es/template/app-player/popin-end/test/fixtures.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures.js +2 -0
- package/es/template/back-office/brand-update/test/fixtures.js.map +1 -1
- package/lib/atom/button-link/index.js +1 -0
- package/lib/atom/button-link/index.js.map +1 -1
- package/lib/atom/chips/index.js +8 -4
- package/lib/atom/chips/index.js.map +1 -1
- package/lib/atom/chips/style.css +17 -2
- package/lib/atom/chips/test/fixtures/long-text.js +14 -0
- package/lib/atom/chips/test/fixtures/long-text.js.map +1 -0
- package/lib/atom/input-checkbox/test/fixtures.js +3 -0
- package/lib/atom/input-checkbox/test/fixtures.js.map +1 -1
- package/lib/atom/input-search/style.css +1 -0
- package/lib/atom/input-text/style.css +6 -2
- package/lib/atom/input-textarea/style.css +3 -3
- package/lib/atom/title/test/fixtures.js +8 -2
- package/lib/atom/title/test/fixtures.js.map +1 -1
- package/lib/molecule/coorp-manager-roles/test/fixtures.js +22 -0
- package/lib/molecule/coorp-manager-roles/test/fixtures.js.map +1 -0
- package/lib/molecule/feedback/test/fixtures.js +3 -0
- package/lib/molecule/feedback/test/fixtures.js.map +1 -1
- package/lib/molecule/popin/test/fixtures.js +34 -0
- package/lib/molecule/popin/test/fixtures.js.map +1 -0
- package/lib/molecule/quick-access-card/test/fixtures.js +34 -0
- package/lib/molecule/quick-access-card/test/fixtures.js.map +1 -0
- package/lib/molecule/quick-access-cards-group/test/fixtures.js +34 -0
- package/lib/molecule/quick-access-cards-group/test/fixtures.js.map +1 -0
- package/lib/molecule/select-multiple/index.js +117 -143
- package/lib/molecule/select-multiple/index.js.map +1 -1
- package/lib/molecule/select-multiple/test/index.js +25 -79
- package/lib/molecule/select-multiple/test/index.js.map +1 -1
- package/lib/organism/accordion/coorp-manager/part/test/fixtures.js +6 -0
- package/lib/organism/accordion/coorp-manager/part/test/fixtures.js.map +1 -1
- package/lib/organism/brand-analytics/test/fixtures.js +37 -0
- package/lib/organism/brand-analytics/test/fixtures.js.map +1 -0
- package/lib/organism/brand-dashboard/test/fixtures.js +2 -14
- package/lib/organism/brand-dashboard/test/fixtures.js.map +1 -1
- package/lib/organism/search-and-chips-results/index.js +104 -0
- package/lib/organism/search-and-chips-results/index.js.map +1 -0
- package/lib/organism/search-and-chips-results/style.css +57 -0
- package/lib/organism/search-and-chips-results/test/fixtures/default.js +51 -0
- package/lib/organism/search-and-chips-results/test/fixtures/default.js.map +1 -0
- package/lib/organism/search-and-chips-results/test/fixtures/empty.js +28 -0
- package/lib/organism/search-and-chips-results/test/fixtures/empty.js.map +1 -0
- package/lib/organism/search-and-chips-results/test/fixtures/filtered.js +31 -0
- package/lib/organism/search-and-chips-results/test/fixtures/filtered.js.map +1 -0
- package/lib/organism/search-and-chips-results/test/fixtures/sorted-selected.js +54 -0
- package/lib/organism/search-and-chips-results/test/fixtures/sorted-selected.js.map +1 -0
- package/lib/organism/search-and-chips-results/test/fixtures/unsorted-selected.js +54 -0
- package/lib/organism/search-and-chips-results/test/fixtures/unsorted-selected.js.map +1 -0
- package/lib/template/app-player/popin-end/test/fixtures.js +3 -0
- package/lib/template/app-player/popin-end/test/fixtures.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures.js +3 -0
- package/lib/template/back-office/brand-update/test/fixtures.js.map +1 -1
- package/package.json +2 -2
|
@@ -7,9 +7,7 @@ import _map from "lodash/fp/map";
|
|
|
7
7
|
|
|
8
8
|
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); }
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
import React from 'react';
|
|
10
|
+
import React, { useState, useEffect, useRef, useCallback } from 'react';
|
|
13
11
|
import PropTypes from 'prop-types';
|
|
14
12
|
import classnames from 'classnames';
|
|
15
13
|
import { NovaCompositionNavigationArrowDown as ArrowDown } from '@coorpacademy/nova-icons';
|
|
@@ -22,155 +20,124 @@ const themeStyle = {
|
|
|
22
20
|
cockpit: style.cockpit,
|
|
23
21
|
sidebar: style.sidebar
|
|
24
22
|
};
|
|
23
|
+
export const useChoices = options => {
|
|
24
|
+
const choicesRef = useRef(options);
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
_defineProperty(this, "handleOnClick", e => {
|
|
31
|
-
const {
|
|
32
|
-
opened
|
|
33
|
-
} = this.state;
|
|
34
|
-
e.preventDefault();
|
|
35
|
-
e.stopPropagation();
|
|
36
|
-
this.setState({
|
|
37
|
-
opened: !opened
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
_defineProperty(this, "closeHandle", e => {
|
|
42
|
-
if (this.node && !this.node.contains(e.target)) {
|
|
43
|
-
this.setState({
|
|
44
|
-
opened: false
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
_defineProperty(this, "handleChange", choice => {
|
|
50
|
-
const {
|
|
51
|
-
multiple,
|
|
52
|
-
onChange
|
|
53
|
-
} = this.props; // if multiple prop is turned on
|
|
54
|
-
// we return all selected choices
|
|
55
|
-
|
|
56
|
-
if (multiple) {
|
|
57
|
-
this.choices = choice;
|
|
58
|
-
return onChange(this.choices);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return onChange(choice);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
this.state = {
|
|
65
|
-
opened: false
|
|
66
|
-
};
|
|
67
|
-
this.node = null;
|
|
26
|
+
const getChoices = () => {
|
|
27
|
+
return choicesRef.current;
|
|
28
|
+
};
|
|
68
29
|
|
|
69
|
-
|
|
70
|
-
|
|
30
|
+
const setChoices = choice => {
|
|
31
|
+
const choices = _set(`[${choice.i}].selected`, !choice.selected, getChoices());
|
|
71
32
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
document.addEventListener('click', this.closeHandle);
|
|
75
|
-
document.addEventListener('touchstart', this.closeHandle);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
33
|
+
choicesRef.current = choices.filter(c => c.selected);
|
|
34
|
+
};
|
|
78
35
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
36
|
+
return [getChoices, setChoices];
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const SelectMultiple = ({
|
|
40
|
+
title,
|
|
41
|
+
options,
|
|
42
|
+
theme,
|
|
43
|
+
placeholder,
|
|
44
|
+
description,
|
|
45
|
+
multiple,
|
|
46
|
+
onChange,
|
|
47
|
+
modified = false,
|
|
48
|
+
required = false,
|
|
49
|
+
error = false
|
|
50
|
+
}, {
|
|
51
|
+
skin
|
|
52
|
+
}) => {
|
|
53
|
+
const [isOpened, updateIsOpened] = useState(false);
|
|
54
|
+
const [getChoices, setChoices] = useChoices(options);
|
|
55
|
+
const nodeRef = useRef(null);
|
|
56
|
+
|
|
57
|
+
const defaultColor = _get('common.primary', skin);
|
|
58
|
+
|
|
59
|
+
const black = _get('common.black', skin);
|
|
60
|
+
|
|
61
|
+
const handleOnClick = useCallback(e => {
|
|
62
|
+
e.preventDefault();
|
|
63
|
+
e.stopPropagation();
|
|
64
|
+
updateIsOpened(prev => !prev);
|
|
65
|
+
}, []);
|
|
66
|
+
const closeHandle = useCallback(e => {
|
|
67
|
+
if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {
|
|
68
|
+
updateIsOpened(false);
|
|
83
69
|
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
return
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
className: style.select,
|
|
152
|
-
title: selection || placeholder,
|
|
153
|
-
onClick: this.handleOnClick
|
|
154
|
-
}, selection || placeholder, /*#__PURE__*/React.createElement(ArrowDown, {
|
|
155
|
-
color: black,
|
|
156
|
-
className: classnames(style.arrow, {
|
|
157
|
-
[style.down]: isActive
|
|
158
|
-
})
|
|
159
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
160
|
-
className: isActive ? style.activeChoices : style.choices
|
|
161
|
-
}, /*#__PURE__*/React.createElement("ul", {
|
|
162
|
-
className: style.list
|
|
163
|
-
}, lines))), /*#__PURE__*/React.createElement("div", {
|
|
164
|
-
className: style.description
|
|
165
|
-
}, description));
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
_defineProperty(SelectMultiple, "contextTypes", {
|
|
171
|
-
skin: Provider.childContextTypes.skin
|
|
172
|
-
});
|
|
70
|
+
}, []);
|
|
71
|
+
const handleChange = useCallback(choice => {
|
|
72
|
+
// if multiple prop is turned on
|
|
73
|
+
// we return all selected choices
|
|
74
|
+
if (multiple) {
|
|
75
|
+
setChoices(choice);
|
|
76
|
+
return onChange(getChoices());
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return onChange(choice);
|
|
80
|
+
}, [setChoices, multiple, onChange]);
|
|
81
|
+
useEffect(() => {
|
|
82
|
+
document.addEventListener('click', closeHandle);
|
|
83
|
+
document.addEventListener('touchstart', closeHandle);
|
|
84
|
+
return () => {
|
|
85
|
+
document.removeEventListener('click', closeHandle);
|
|
86
|
+
document.removeEventListener('touchstart', closeHandle);
|
|
87
|
+
};
|
|
88
|
+
}, [closeHandle]);
|
|
89
|
+
|
|
90
|
+
const lines = _map.convert({
|
|
91
|
+
cap: false
|
|
92
|
+
})((choice, i) => {
|
|
93
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
94
|
+
key: i,
|
|
95
|
+
className: style.choice
|
|
96
|
+
}, /*#__PURE__*/React.createElement(TitledCheckbox, {
|
|
97
|
+
onToggle: handleChange,
|
|
98
|
+
choice: _extends(_extends({}, choice), {}, {
|
|
99
|
+
i
|
|
100
|
+
}),
|
|
101
|
+
background: defaultColor
|
|
102
|
+
}));
|
|
103
|
+
}, options);
|
|
104
|
+
|
|
105
|
+
const selection = _pipe(_filter({
|
|
106
|
+
selected: true
|
|
107
|
+
}), _map('name'), _join(', '))(options);
|
|
108
|
+
|
|
109
|
+
const _title = title && `${title}${required ? ' *' : ''}`;
|
|
110
|
+
|
|
111
|
+
const titleView = title ? /*#__PURE__*/React.createElement("span", {
|
|
112
|
+
className: style.title
|
|
113
|
+
}, _title, " ") : null;
|
|
114
|
+
const isActive = isOpened === true;
|
|
115
|
+
const mainClass = theme ? themeStyle[theme] : style.default;
|
|
116
|
+
const behaviourClassName = getClassState(style.default, style.modified, style.error, modified, error);
|
|
117
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
118
|
+
className: classnames(mainClass, behaviourClassName),
|
|
119
|
+
ref: nodeRef
|
|
120
|
+
}, /*#__PURE__*/React.createElement("label", null, titleView, /*#__PURE__*/React.createElement("div", {
|
|
121
|
+
className: style.select,
|
|
122
|
+
title: selection || placeholder,
|
|
123
|
+
onClick: handleOnClick
|
|
124
|
+
}, selection || placeholder, /*#__PURE__*/React.createElement(ArrowDown, {
|
|
125
|
+
color: black,
|
|
126
|
+
className: classnames(style.arrow, {
|
|
127
|
+
[style.down]: isActive
|
|
128
|
+
})
|
|
129
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
130
|
+
className: isActive ? style.activeChoices : style.choices
|
|
131
|
+
}, /*#__PURE__*/React.createElement("ul", {
|
|
132
|
+
className: style.list
|
|
133
|
+
}, lines))), /*#__PURE__*/React.createElement("div", {
|
|
134
|
+
className: style.description
|
|
135
|
+
}, description));
|
|
136
|
+
};
|
|
173
137
|
|
|
138
|
+
SelectMultiple.contextTypes = {
|
|
139
|
+
skin: Provider.childContextTypes.skin
|
|
140
|
+
};
|
|
174
141
|
SelectMultiple.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
175
142
|
title: PropTypes.string,
|
|
176
143
|
placeholder: PropTypes.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","TitledCheckbox","Provider","getClassState","style","themeStyle","setup","cockpit","sidebar","SelectMultiple","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","childContextTypes","propTypes","string","arrayOf","func","bool"],"mappings":";;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SAAQC,kCAAkC,IAAIC,SAA9C,QAA8D,0BAA9D;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,aAAP,MAA0B,4BAA1B;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,UAAU,GAAG;AACjBC,EAAAA,KAAK,EAAEF,KAAK,CAACE,KADI;AAEjBC,EAAAA,OAAO,EAAEH,KAAK,CAACG,OAFE;AAGjBC,EAAAA,OAAO,EAAEJ,KAAK,CAACI;AAHE,CAAnB;;AAMA,MAAMC,cAAN,SAA6Bb,KAAK,CAACc,SAAnC,CAA6C;AAkB3CC,EAAAA,WAAW,CAACC,KAAD,EAAQ;AACjB,UAAMA,KAAN;;AADiB,2CAwBHC,CAAC,IAAI;AACnB,YAAM;AAACC,QAAAA;AAAD,UAAW,KAAKC,KAAtB;AACAF,MAAAA,CAAC,CAACG,cAAF;AACAH,MAAAA,CAAC,CAACI,eAAF;AAEA,WAAKC,QAAL,CAAc;AAACJ,QAAAA,MAAM,EAAE,CAACA;AAAV,OAAd;AACD,KA9BkB;;AAAA,yCAgCLD,CAAC,IAAI;AACjB,UAAI,KAAKM,IAAL,IAAa,CAAC,KAAKA,IAAL,CAAUC,QAAV,CAAmBP,CAAC,CAACQ,MAArB,CAAlB,EAAgD;AAC9C,aAAKH,QAAL,CAAc;AAACJ,UAAAA,MAAM,EAAE;AAAT,SAAd;AACD;AACF,KApCkB;;AAAA,0CAgDJQ,MAAM,IAAI;AACvB,YAAM;AAACC,QAAAA,QAAD;AAAWC,QAAAA;AAAX,UAAuB,KAAKZ,KAAlC,CADuB,CAEvB;AACA;;AACA,UAAIW,QAAJ,EAAc;AACZ,aAAKE,OAAL,GAAeH,MAAf;AAEA,eAAOE,QAAQ,CAAC,KAAKC,OAAN,CAAf;AACD;;AAED,aAAOD,QAAQ,CAACF,MAAD,CAAf;AACD,KA3DkB;;AAEjB,SAAKP,KAAL,GAAa;AACXD,MAAAA,MAAM,EAAE;AADG,KAAb;AAIA,SAAKK,IAAL,GAAY,IAAZ;;AACA,SAAKO,OAAL,GAAeC,EAAE,IAAK,KAAKR,IAAL,GAAYQ,EAAlC;AACD;;AAEDC,EAAAA,iBAAiB,GAAG;AAClB,QAAI,OAAOC,QAAP,KAAoB,WAAxB,EAAqC;AACnCA,MAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmC,KAAKC,WAAxC;AACAF,MAAAA,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwC,KAAKC,WAA7C;AACD;AACF;;AAEDC,EAAAA,oBAAoB,GAAG;AACrB,QAAI,OAAOH,QAAP,KAAoB,WAAxB,EAAqC;AACnCA,MAAAA,QAAQ,CAACI,mBAAT,CAA6B,OAA7B,EAAsC,KAAKF,WAA3C;AACAF,MAAAA,QAAQ,CAACI,mBAAT,CAA6B,YAA7B,EAA2C,KAAKF,WAAhD;AACD;AACF;;AAgBD,MAAIN,OAAJ,CAAYH,MAAZ,EAAoB;AAClB,UAAMG,OAAO,GAAG,KAAK,IAAGH,MAAM,CAACY,CAAE,YAAjB,EAA8B,CAACZ,MAAM,CAACa,QAAtC,EAAgD,KAAKC,QAArD,CAAhB;;AAEA,SAAKA,QAAL,GAAgBX,OAAO,CAACY,MAAR,CAAeC,CAAC,IAAIA,CAAC,CAACH,QAAtB,CAAhB;AACD;;AAED,MAAIV,OAAJ,GAAc;AACZ,WAAO,KAAKW,QAAZ;AACD;;AAeDG,EAAAA,MAAM,GAAG;AACP,UAAM;AAACC,MAAAA;AAAD,QAAS,KAAKC,OAApB;;AACA,UAAMC,YAAY,GAAG,KAAI,gBAAJ,EAAsBF,IAAtB,CAArB;;AACA,UAAMG,KAAK,GAAG,KAAI,cAAJ,EAAoBH,IAApB,CAAd;;AACA,UAAM;AACJI,MAAAA,KADI;AAEJC,MAAAA,OAFI;AAGJC,MAAAA,KAHI;AAIJC,MAAAA,WAJI;AAKJC,MAAAA,WALI;AAMJC,MAAAA,QAAQ,GAAG,KANP;AAOJC,MAAAA,QAAQ,GAAG,KAPP;AAQJC,MAAAA,KAAK,GAAG;AARJ,QASF,KAAKvC,KATT;AAUA,UAAM;AAACE,MAAAA;AAAD,QAAW,KAAKC,KAAtB;AAEA,SAAKqB,QAAL,GAAgBS,OAAhB;;AAEA,UAAMO,KAAK,GAAG,KAAIC,OAAJ,CAAY;AAACC,MAAAA,GAAG,EAAE;AAAN,KAAZ,EAA0B,CAAChC,MAAD,EAASY,CAAT,KAAe;AACrD,0BACE;AAAI,QAAA,GAAG,EAAEA,CAAT;AAAY,QAAA,SAAS,EAAE9B,KAAK,CAACkB;AAA7B,sBACE,oBAAC,cAAD;AACE,QAAA,QAAQ,EAAE,KAAKiC,YADjB;AAEE,QAAA,MAAM,wBAAMjC,MAAN;AAAcY,UAAAA;AAAd,UAFR;AAGE,QAAA,UAAU,EAAEQ;AAHd,QADF,CADF;AASD,KAVa,EAUXG,OAVW,CAAd;;AAWA,UAAMW,SAAS,GAAG,MAAK,QAAO;AAACrB,MAAAA,QAAQ,EAAE;AAAX,KAAP,CAAL,EAA+B,KAAI,MAAJ,CAA/B,EAA4C,MAAK,IAAL,CAA5C,EAAwDU,OAAxD,CAAlB;;AAEA,UAAMY,MAAM,GAAGb,KAAK,IAAK,GAAEA,KAAM,GAAEM,QAAQ,GAAG,IAAH,GAAU,EAAG,EAAxD;;AAEA,UAAMQ,SAAS,GAAGd,KAAK,gBAAG;AAAM,MAAA,SAAS,EAAExC,KAAK,CAACwC;AAAvB,OAA+Ba,MAA/B,MAAH,GAAoD,IAA3E;AACA,UAAME,QAAQ,GAAG7C,MAAM,KAAK,IAA5B;AACA,UAAM8C,SAAS,GAAGd,KAAK,GAAGzC,UAAU,CAACyC,KAAD,CAAb,GAAuB1C,KAAK,CAACyD,OAApD;AACA,UAAMC,kBAAkB,GAAG3D,aAAa,CACtCC,KAAK,CAACyD,OADgC,EAEtCzD,KAAK,CAAC6C,QAFgC,EAGtC7C,KAAK,CAAC+C,KAHgC,EAItCF,QAJsC,EAKtCE,KALsC,CAAxC;AAQA,wBACE;AAAK,MAAA,SAAS,EAAErD,UAAU,CAAC8D,SAAD,EAAYE,kBAAZ,CAA1B;AAA2D,MAAA,GAAG,EAAE,KAAKpC;AAArE,oBACE,mCACGgC,SADH,eAEE;AACE,MAAA,SAAS,EAAEtD,KAAK,CAAC2D,MADnB;AAEE,MAAA,KAAK,EAAEP,SAAS,IAAIT,WAFtB;AAGE,MAAA,OAAO,EAAE,KAAKiB;AAHhB,OAKGR,SAAS,IAAIT,WALhB,eAME,oBAAC,SAAD;AACE,MAAA,KAAK,EAAEJ,KADT;AAEE,MAAA,SAAS,EAAE7C,UAAU,CAACM,KAAK,CAAC6D,KAAP,EAAc;AAAC,SAAC7D,KAAK,CAAC8D,IAAP,GAAcP;AAAf,OAAd;AAFvB,MANF,CAFF,eAaE;AAAK,MAAA,SAAS,EAAEA,QAAQ,GAAGvD,KAAK,CAAC+D,aAAT,GAAyB/D,KAAK,CAACqB;AAAvD,oBACE;AAAI,MAAA,SAAS,EAAErB,KAAK,CAACgE;AAArB,OAA4BhB,KAA5B,CADF,CAbF,CADF,eAkBE;AAAK,MAAA,SAAS,EAAEhD,KAAK,CAAC4C;AAAtB,OAAoCA,WAApC,CAlBF,CADF;AAsBD;;AAjJ0C;;gBAAvCvC,c,kBAckB;AACpB+B,EAAAA,IAAI,EAAEtC,QAAQ,CAACmE,iBAAT,CAA2B7B;AADb,C;;AAdlB/B,c,CACG6D,S,2CAAY;AACjB1B,EAAAA,KAAK,EAAE/C,SAAS,CAAC0E,MADA;AAEjBxB,EAAAA,WAAW,EAAElD,SAAS,CAAC0E,MAFN;AAGjBvB,EAAAA,WAAW,EAAEnD,SAAS,CAAC0E,MAHN;AAIjB1B,EAAAA,OAAO,EAAEhD,SAAS,CAAC2E,OAAV,CAAkBvE,cAAc,CAACqE,SAAf,CAAyBhD,MAA3C,CAJQ;AAKjBE,EAAAA,QAAQ,EAAE3B,SAAS,CAAC4E,IALH;AAMjBlD,EAAAA,QAAQ,EAAE1B,SAAS,CAAC6E,IANH;AAOjB5B,EAAAA,KAAK,EAAEjD,SAAS,CAAC0E,MAPA;AAQjBtB,EAAAA,QAAQ,EAAEpD,SAAS,CAAC6E,IARH;AASjBxB,EAAAA,QAAQ,EAAErD,SAAS,CAAC6E,IATH;AAUjBvB,EAAAA,KAAK,EAAEtD,SAAS,CAAC6E;AAVA,C;AAmJrB,eAAejE,cAAf","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":["React","useState","useEffect","useRef","useCallback","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","TitledCheckbox","Provider","getClassState","style","themeStyle","setup","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","childContextTypes","propTypes","string","arrayOf","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"}
|
|
@@ -2,58 +2,29 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
2
2
|
|
|
3
3
|
import browserEnv from 'browser-env';
|
|
4
4
|
import test from 'ava';
|
|
5
|
+
import flatten from 'lodash/fp/flatten';
|
|
5
6
|
import React from 'react';
|
|
6
7
|
import { mount, configure } from 'enzyme';
|
|
7
8
|
import Adapter from 'enzyme-adapter-react-16';
|
|
8
|
-
import SelectMultiple from '..';
|
|
9
|
+
import SelectMultiple, { useChoices } from '..';
|
|
9
10
|
import defaultFixture from './fixtures/checked';
|
|
10
11
|
browserEnv();
|
|
11
12
|
configure({
|
|
12
13
|
adapter: new Adapter()
|
|
13
14
|
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const wrapper = mount( /*#__PURE__*/React.createElement(SelectMultiple, props));
|
|
22
|
-
const selectWrapper = wrapper.find('.select-multiple__select');
|
|
23
|
-
t.is(wrapper.state().opened, false);
|
|
24
|
-
t.is(selectWrapper.exists(), true);
|
|
25
|
-
selectWrapper.simulate('click', clickEvent);
|
|
26
|
-
t.is(wrapper.state().opened, true);
|
|
27
|
-
selectWrapper.simulate('click', clickEvent);
|
|
28
|
-
t.is(wrapper.state().opened, false);
|
|
29
|
-
});
|
|
30
|
-
test('should select choice', t => {
|
|
31
|
-
t.plan(8);
|
|
32
|
-
const clickEvent = {
|
|
33
|
-
preventDefault: () => t.pass(),
|
|
34
|
-
stopPropagation: () => t.pass()
|
|
15
|
+
|
|
16
|
+
const setup = options => {
|
|
17
|
+
const returnVal = [];
|
|
18
|
+
|
|
19
|
+
const TestComponent = () => {
|
|
20
|
+
returnVal.push(useChoices(options));
|
|
21
|
+
return null;
|
|
35
22
|
};
|
|
36
23
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
t.pass();
|
|
41
|
-
}
|
|
42
|
-
});
|
|
24
|
+
mount( /*#__PURE__*/React.createElement(TestComponent, null));
|
|
25
|
+
return flatten(returnVal);
|
|
26
|
+
};
|
|
43
27
|
|
|
44
|
-
const wrapper = mount( /*#__PURE__*/React.createElement(SelectMultiple, props));
|
|
45
|
-
const selectWrapper = wrapper.find('.select-multiple__select');
|
|
46
|
-
wrapper.update();
|
|
47
|
-
t.is(wrapper.state().opened, false);
|
|
48
|
-
t.is(selectWrapper.exists(), true);
|
|
49
|
-
selectWrapper.simulate('click', clickEvent);
|
|
50
|
-
wrapper.update();
|
|
51
|
-
t.is(wrapper.state().opened, true);
|
|
52
|
-
const checkbox = wrapper.find('[checked=false]').first();
|
|
53
|
-
checkbox.simulate('change');
|
|
54
|
-
t.is(wrapper.state().opened, true);
|
|
55
|
-
wrapper.update();
|
|
56
|
-
});
|
|
57
28
|
test('should select array of choices when props.multiple is set', t => {
|
|
58
29
|
t.plan(2);
|
|
59
30
|
|
|
@@ -72,51 +43,21 @@ test('should select array of choices when props.multiple is set', t => {
|
|
|
72
43
|
props
|
|
73
44
|
});
|
|
74
45
|
});
|
|
75
|
-
test('should click outside', t => {
|
|
76
|
-
t.plan(10);
|
|
77
|
-
const clickEvent = {
|
|
78
|
-
preventDefault: () => t.pass(),
|
|
79
|
-
stopPropagation: () => t.pass()
|
|
80
|
-
};
|
|
81
|
-
const props = defaultFixture.props;
|
|
82
|
-
const wrapper = mount( /*#__PURE__*/React.createElement(SelectMultiple, props));
|
|
83
|
-
const selectWrapper = wrapper.find('.select-multiple__select');
|
|
84
|
-
const instance = wrapper.instance();
|
|
85
|
-
wrapper.update();
|
|
86
|
-
t.is(wrapper.state().opened, false);
|
|
87
|
-
t.is(selectWrapper.exists(), true);
|
|
88
|
-
selectWrapper.simulate('click', clickEvent);
|
|
89
|
-
wrapper.update();
|
|
90
|
-
t.is(wrapper.state().opened, true);
|
|
91
|
-
instance.closeHandle({
|
|
92
|
-
target: null
|
|
93
|
-
});
|
|
94
|
-
t.is(wrapper.state().opened, false);
|
|
95
|
-
selectWrapper.simulate('click', clickEvent);
|
|
96
|
-
wrapper.update();
|
|
97
|
-
t.is(wrapper.state().opened, true);
|
|
98
|
-
instance.closeHandle({
|
|
99
|
-
target: selectWrapper.getDOMNode()
|
|
100
|
-
});
|
|
101
|
-
t.is(wrapper.state().opened, true);
|
|
102
|
-
wrapper.update();
|
|
103
|
-
wrapper.unmount();
|
|
104
|
-
});
|
|
105
46
|
test('should return choices (getter)', t => {
|
|
106
47
|
const props = _extends({}, defaultFixture.props);
|
|
107
48
|
|
|
108
|
-
const
|
|
109
|
-
t.is(
|
|
49
|
+
const [getChoices] = setup(props.options);
|
|
50
|
+
t.is(getChoices().length, 4, 'not returning expected choices');
|
|
110
51
|
});
|
|
111
52
|
test('should set current choice (setter)', t => {
|
|
112
53
|
const props = _extends({}, defaultFixture.props);
|
|
113
54
|
|
|
114
|
-
const
|
|
115
|
-
const
|
|
116
|
-
t.is(
|
|
117
|
-
|
|
55
|
+
const [getChoices, setChoices] = setup(props.options);
|
|
56
|
+
const choices = getChoices();
|
|
57
|
+
t.is(choices[0].selected, false, 'not setting correctly expected value for choice[0]');
|
|
58
|
+
setChoices(_extends(_extends({}, props.options[0]), {}, {
|
|
118
59
|
i: 0
|
|
119
|
-
});
|
|
120
|
-
t.is(
|
|
60
|
+
}));
|
|
61
|
+
t.is(getChoices()[0].selected, true, 'not updating correctly expected value for choice[0]');
|
|
121
62
|
});
|
|
122
63
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/molecule/select-multiple/test/index.js"],"names":["browserEnv","test","React","mount","configure","Adapter","SelectMultiple","
|
|
1
|
+
{"version":3,"sources":["../../../../src/molecule/select-multiple/test/index.js"],"names":["browserEnv","test","flatten","React","mount","configure","Adapter","SelectMultiple","useChoices","defaultFixture","adapter","setup","options","returnVal","TestComponent","push","t","plan","props","multiple","onChange","choices","true","Array","isArray","pass","wrapper","update","checkbox","find","first","simulate","getChoices","is","length","setChoices","selected","i"],"mappings":";;AAAA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAAQC,KAAR,EAAeC,SAAf,QAA+B,QAA/B;AACA,OAAOC,OAAP,MAAoB,yBAApB;AACA,OAAOC,cAAP,IAAwBC,UAAxB,QAAyC,IAAzC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AAEAT,UAAU;AACVK,SAAS,CAAC;AAACK,EAAAA,OAAO,EAAE,IAAIJ,OAAJ;AAAV,CAAD,CAAT;;AAEA,MAAMK,KAAK,GAAGC,OAAO,IAAI;AACvB,QAAMC,SAAS,GAAG,EAAlB;;AACA,QAAMC,aAAa,GAAG,MAAM;AAC1BD,IAAAA,SAAS,CAACE,IAAV,CAAeP,UAAU,CAACI,OAAD,CAAzB;AACA,WAAO,IAAP;AACD,GAHD;;AAKAR,EAAAA,KAAK,eAAC,oBAAC,aAAD,OAAD,CAAL;AACA,SAAOF,OAAO,CAACW,SAAD,CAAd;AACD,CATD;;AAWAZ,IAAI,CAAC,2DAAD,EAA8De,CAAC,IAAI;AACrEA,EAAAA,CAAC,CAACC,IAAF,CAAO,CAAP;;AACA,QAAMC,KAAK,yBACNT,cAAc,CAACS,KADT;AAETC,IAAAA,QAAQ,EAAE,IAFD;AAGTC,IAAAA,QAAQ,EAAEC,OAAO,IAAI;AACnBL,MAAAA,CAAC,CAACM,IAAF,CAAOC,KAAK,CAACC,OAAN,CAAcH,OAAd,CAAP,EAA+B,QAA/B;AACAL,MAAAA,CAAC,CAACS,IAAF;AACD;AANQ,IAAX;;AASA,QAAMC,OAAO,GAAGtB,KAAK,eAAC,oBAAC,cAAD,EAAoBc,KAApB,CAAD,CAArB;AAEAQ,EAAAA,OAAO,CAACC,MAAR;AAEA,QAAMC,QAAQ,GAAGF,OAAO,CAACG,IAAR,CAAa,iBAAb,EAAgCC,KAAhC,EAAjB;AAEAF,EAAAA,QAAQ,CAACG,QAAT,CAAkB,QAAlB,EAA4B;AAACb,IAAAA;AAAD,GAA5B;AACD,CAlBG,CAAJ;AAoBAjB,IAAI,CAAC,gCAAD,EAAmCe,CAAC,IAAI;AAC1C,QAAME,KAAK,gBAAOT,cAAc,CAACS,KAAtB,CAAX;;AACA,QAAM,CAACc,UAAD,IAAerB,KAAK,CAACO,KAAK,CAACN,OAAP,CAA1B;AAEAI,EAAAA,CAAC,CAACiB,EAAF,CAAKD,UAAU,GAAGE,MAAlB,EAA0B,CAA1B,EAA6B,gCAA7B;AACD,CALG,CAAJ;AAOAjC,IAAI,CAAC,oCAAD,EAAuCe,CAAC,IAAI;AAC9C,QAAME,KAAK,gBAAOT,cAAc,CAACS,KAAtB,CAAX;;AACA,QAAM,CAACc,UAAD,EAAaG,UAAb,IAA2BxB,KAAK,CAACO,KAAK,CAACN,OAAP,CAAtC;AACA,QAAMS,OAAO,GAAGW,UAAU,EAA1B;AAEAhB,EAAAA,CAAC,CAACiB,EAAF,CAAKZ,OAAO,CAAC,CAAD,CAAP,CAAWe,QAAhB,EAA0B,KAA1B,EAAiC,oDAAjC;AAEAD,EAAAA,UAAU,uBAAKjB,KAAK,CAACN,OAAN,CAAc,CAAd,CAAL;AAAuByB,IAAAA,CAAC,EAAE;AAA1B,KAAV;AAEArB,EAAAA,CAAC,CAACiB,EAAF,CAAKD,UAAU,GAAG,CAAH,CAAV,CAAgBI,QAArB,EAA+B,IAA/B,EAAqC,qDAArC;AACD,CAVG,CAAJ","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"}
|
|
@@ -3,6 +3,8 @@ import forEach from 'lodash/forEach';
|
|
|
3
3
|
import renderComponentMacro from '../../../../../test/helpers/render-component';
|
|
4
4
|
import OrganismAccordionCoorpManagerPart from '..';
|
|
5
5
|
import fixtureDefaut from './fixtures/defaut';
|
|
6
|
+
import fixtureIconLink from './fixtures/icon-link';
|
|
7
|
+
import fixtureSimpletab from './fixtures/simpletab';
|
|
6
8
|
test('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart > should have valid propTypes', t => {
|
|
7
9
|
t.pass();
|
|
8
10
|
forEach(OrganismAccordionCoorpManagerPart.propTypes, (value, key) => {
|
|
@@ -10,4 +12,6 @@ test('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart > shou
|
|
|
10
12
|
});
|
|
11
13
|
});
|
|
12
14
|
test('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart › Defaut › should be rendered', renderComponentMacro, OrganismAccordionCoorpManagerPart, fixtureDefaut);
|
|
15
|
+
test('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart › IconLink › should be rendered', renderComponentMacro, OrganismAccordionCoorpManagerPart, fixtureIconLink);
|
|
16
|
+
test('OrganismAccordionCoorpManager › OrganismAccordionCoorpManagerPart › Simpletab › should be rendered', renderComponentMacro, OrganismAccordionCoorpManagerPart, fixtureSimpletab);
|
|
13
17
|
//# sourceMappingURL=fixtures.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/organism/accordion/coorp-manager/part/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","OrganismAccordionCoorpManagerPart","fixtureDefaut","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,8CAAjC;AACA,OAAOC,iCAAP,MAA8C,IAA9C;AACA,OAAOC,aAAP,MAA0B,mBAA1B;
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/organism/accordion/coorp-manager/part/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","OrganismAccordionCoorpManagerPart","fixtureDefaut","fixtureIconLink","fixtureSimpletab","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,8CAAjC;AACA,OAAOC,iCAAP,MAA8C,IAA9C;AACA,OAAOC,aAAP,MAA0B,mBAA1B;AACA,OAAOC,eAAP,MAA4B,sBAA5B;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AAEAN,IAAI,CAAC,iGAAD,EAAoGO,CAAC,IAAI;AAC3GA,EAAAA,CAAC,CAACC,IAAF;AACAP,EAAAA,OAAO,CAACE,iCAAiC,CAACM,SAAnC,EAA8C,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACnEJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,2FAA0FF,GAAI,mEAAvH;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAX,IAAI,CAAC,iGAAD,EAAoGE,oBAApG,EAA0HC,iCAA1H,EAA6JC,aAA7J,CAAJ;AACAJ,IAAI,CAAC,mGAAD,EAAsGE,oBAAtG,EAA4HC,iCAA5H,EAA+JE,eAA/J,CAAJ;AACAL,IAAI,CAAC,oGAAD,EAAuGE,oBAAvG,EAA6HC,iCAA7H,EAAgKG,gBAAhK,CAAJ","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,23 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import forEach from 'lodash/forEach';
|
|
3
|
+
import renderComponentMacro from '../../../test/helpers/render-component';
|
|
4
|
+
import OrganismBrandAnalytics from '..';
|
|
5
|
+
import fixtureDefault from './fixtures/default';
|
|
6
|
+
import fixtureError from './fixtures/error';
|
|
7
|
+
import fixtureLoading from './fixtures/loading';
|
|
8
|
+
import fixtureSelectedError from './fixtures/selected-error';
|
|
9
|
+
import fixtureSelectedLoading from './fixtures/selected-loading';
|
|
10
|
+
import fixtureSelected from './fixtures/selected';
|
|
11
|
+
test('Organism › OrganismBrandAnalytics > should have valid propTypes', t => {
|
|
12
|
+
t.pass();
|
|
13
|
+
forEach(OrganismBrandAnalytics.propTypes, (value, key) => {
|
|
14
|
+
t.not(value, undefined, `PropType for "Organism.OrganismBrandAnalytics.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
test('Organism › OrganismBrandAnalytics › Default › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureDefault);
|
|
18
|
+
test('Organism › OrganismBrandAnalytics › Error › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureError);
|
|
19
|
+
test('Organism › OrganismBrandAnalytics › Loading › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureLoading);
|
|
20
|
+
test('Organism › OrganismBrandAnalytics › SelectedError › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureSelectedError);
|
|
21
|
+
test('Organism › OrganismBrandAnalytics › SelectedLoading › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureSelectedLoading);
|
|
22
|
+
test('Organism › OrganismBrandAnalytics › Selected › should be rendered', renderComponentMacro, OrganismBrandAnalytics, fixtureSelected);
|
|
23
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/organism/brand-analytics/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","OrganismBrandAnalytics","fixtureDefault","fixtureError","fixtureLoading","fixtureSelectedError","fixtureSelectedLoading","fixtureSelected","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,sBAAP,MAAmC,IAAnC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AAEAT,IAAI,CAAC,iEAAD,EAAoEU,CAAC,IAAI;AAC3EA,EAAAA,CAAC,CAACC,IAAF;AACAV,EAAAA,OAAO,CAACE,sBAAsB,CAACS,SAAxB,EAAmC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACxDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,2DAA0DF,GAAI,mEAAvF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAd,IAAI,CAAC,kEAAD,EAAqEE,oBAArE,EAA2FC,sBAA3F,EAAmHC,cAAnH,CAAJ;AACAJ,IAAI,CAAC,gEAAD,EAAmEE,oBAAnE,EAAyFC,sBAAzF,EAAiHE,YAAjH,CAAJ;AACAL,IAAI,CAAC,kEAAD,EAAqEE,oBAArE,EAA2FC,sBAA3F,EAAmHG,cAAnH,CAAJ;AACAN,IAAI,CAAC,wEAAD,EAA2EE,oBAA3E,EAAiGC,sBAAjG,EAAyHI,oBAAzH,CAAJ;AACAP,IAAI,CAAC,0EAAD,EAA6EE,oBAA7E,EAAmGC,sBAAnG,EAA2HK,sBAA3H,CAAJ;AACAR,IAAI,CAAC,mEAAD,EAAsEE,oBAAtE,EAA4FC,sBAA5F,EAAoHM,eAApH,CAAJ","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"}
|
|
@@ -3,11 +3,7 @@ import forEach from 'lodash/forEach';
|
|
|
3
3
|
import renderComponentMacro from '../../../test/helpers/render-component';
|
|
4
4
|
import OrganismBrandDashboard from '..';
|
|
5
5
|
import fixtureDefault from './fixtures/default';
|
|
6
|
-
import
|
|
7
|
-
import fixtureLoading from './fixtures/loading';
|
|
8
|
-
import fixtureSelectedError from './fixtures/selected-error';
|
|
9
|
-
import fixtureSelectedLoading from './fixtures/selected-loading';
|
|
10
|
-
import fixtureSelected from './fixtures/selected';
|
|
6
|
+
import fixtureThreeCards from './fixtures/three-cards';
|
|
11
7
|
test('Organism › OrganismBrandDashboard > should have valid propTypes', t => {
|
|
12
8
|
t.pass();
|
|
13
9
|
forEach(OrganismBrandDashboard.propTypes, (value, key) => {
|
|
@@ -15,9 +11,5 @@ test('Organism › OrganismBrandDashboard > should have valid propTypes', t => {
|
|
|
15
11
|
});
|
|
16
12
|
});
|
|
17
13
|
test('Organism › OrganismBrandDashboard › Default › should be rendered', renderComponentMacro, OrganismBrandDashboard, fixtureDefault);
|
|
18
|
-
test('Organism › OrganismBrandDashboard ›
|
|
19
|
-
test('Organism › OrganismBrandDashboard › Loading › should be rendered', renderComponentMacro, OrganismBrandDashboard, fixtureLoading);
|
|
20
|
-
test('Organism › OrganismBrandDashboard › SelectedError › should be rendered', renderComponentMacro, OrganismBrandDashboard, fixtureSelectedError);
|
|
21
|
-
test('Organism › OrganismBrandDashboard › SelectedLoading › should be rendered', renderComponentMacro, OrganismBrandDashboard, fixtureSelectedLoading);
|
|
22
|
-
test('Organism › OrganismBrandDashboard › Selected › should be rendered', renderComponentMacro, OrganismBrandDashboard, fixtureSelected);
|
|
14
|
+
test('Organism › OrganismBrandDashboard › ThreeCards › should be rendered', renderComponentMacro, OrganismBrandDashboard, fixtureThreeCards);
|
|
23
15
|
//# sourceMappingURL=fixtures.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/organism/brand-dashboard/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","OrganismBrandDashboard","fixtureDefault","
|
|
1
|
+
{"version":3,"sources":["../../../../src/organism/brand-dashboard/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","OrganismBrandDashboard","fixtureDefault","fixtureThreeCards","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,sBAAP,MAAmC,IAAnC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AAEAL,IAAI,CAAC,iEAAD,EAAoEM,CAAC,IAAI;AAC3EA,EAAAA,CAAC,CAACC,IAAF;AACAN,EAAAA,OAAO,CAACE,sBAAsB,CAACK,SAAxB,EAAmC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACxDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,2DAA0DF,GAAI,mEAAvF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAV,IAAI,CAAC,kEAAD,EAAqEE,oBAArE,EAA2FC,sBAA3F,EAAmHC,cAAnH,CAAJ;AACAJ,IAAI,CAAC,qEAAD,EAAwEE,oBAAxE,EAA8FC,sBAA9F,EAAsHE,iBAAtH,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport OrganismBrandDashboard from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureThreeCards from './fixtures/three-cards';\n\ntest('Organism › OrganismBrandDashboard > should have valid propTypes', t => {\n t.pass();\n forEach(OrganismBrandDashboard.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Organism.OrganismBrandDashboard.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Organism › OrganismBrandDashboard › Default › should be rendered', renderComponentMacro, OrganismBrandDashboard, fixtureDefault);\ntest('Organism › OrganismBrandDashboard › ThreeCards › should be rendered', renderComponentMacro, OrganismBrandDashboard, fixtureThreeCards);\n"],"file":"fixtures.js"}
|