@coorpacademy/components 10.1.3 → 10.1.7
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 +10 -4
- package/es/atom/button-link/index.js.map +1 -1
- package/es/atom/button-link/style.css +4 -5
- package/es/atom/button-link/test/button-link.js +25 -0
- package/es/atom/button-link/test/button-link.js.map +1 -0
- package/es/atom/button-link/test/fixtures/button-tertiary-icon-bullet.js +13 -0
- package/es/atom/button-link/test/fixtures/button-tertiary-icon-bullet.js.map +1 -0
- package/es/atom/button-link/test/fixtures.js +35 -0
- package/es/atom/button-link/test/fixtures.js.map +1 -0
- package/es/atom/button-menu/index.js +66 -0
- package/es/atom/button-menu/index.js.map +1 -0
- package/es/atom/button-menu/style.css +51 -0
- package/es/atom/button-menu/test/fixtures/default.js +20 -0
- package/es/atom/button-menu/test/fixtures/default.js.map +1 -0
- package/es/atom/button-menu/test/fixtures/multiple-buttons.js +15 -0
- package/es/atom/button-menu/test/fixtures/multiple-buttons.js.map +1 -0
- package/es/atom/button-menu/test/fixtures.js +15 -0
- package/es/atom/button-menu/test/fixtures.js.map +1 -0
- 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/chips/test/fixtures.js +17 -0
- package/es/atom/chips/test/fixtures.js.map +1 -0
- package/es/atom/content-badge/test/fixtures.js +27 -0
- package/es/atom/content-badge/test/fixtures.js.map +1 -0
- package/es/atom/input-search/style.css +1 -0
- package/es/atom/input-search/test/fixtures.js +19 -0
- package/es/atom/input-search/test/fixtures.js.map +1 -0
- package/es/atom/input-text/index.js.map +1 -1
- package/es/atom/input-text/style.css +6 -2
- package/es/atom/input-text/test/fixtures.js +2 -0
- package/es/atom/input-text/test/fixtures.js.map +1 -1
- package/es/atom/input-textarea/style.css +3 -3
- package/es/atom/input-textarea/test/fixtures.js +4 -0
- package/es/atom/input-textarea/test/fixtures.js.map +1 -1
- package/es/atom/tag/test/fixtures.js +19 -0
- package/es/atom/tag/test/fixtures.js.map +1 -0
- package/es/atom/wizard-steps/test/fixtures.js +17 -0
- package/es/atom/wizard-steps/test/fixtures.js.map +1 -0
- package/es/molecule/banner/index.js +19 -10
- package/es/molecule/banner/index.js.map +1 -1
- package/es/molecule/banner/style.css +10 -8
- package/es/molecule/banner/test/fixtures.js +15 -0
- package/es/molecule/banner/test/fixtures.js.map +1 -0
- package/es/molecule/brand-form-group/index.js +20 -5
- package/es/molecule/brand-form-group/index.js.map +1 -1
- package/es/molecule/brand-form-group/style.css +19 -0
- package/es/molecule/brand-form-group/test/fixtures.js +2 -0
- package/es/molecule/brand-form-group/test/fixtures.js.map +1 -1
- package/es/molecule/bullet-point-menu-button/index.js +54 -0
- package/es/molecule/bullet-point-menu-button/index.js.map +1 -0
- package/es/molecule/bullet-point-menu-button/style.css +52 -0
- package/es/molecule/bullet-point-menu-button/test/bullet-point-menu-button.js +34 -0
- package/es/molecule/bullet-point-menu-button/test/bullet-point-menu-button.js.map +1 -0
- package/es/molecule/bullet-point-menu-button/test/fixtures/default.js +11 -0
- package/es/molecule/bullet-point-menu-button/test/fixtures/default.js.map +1 -0
- package/es/molecule/bullet-point-menu-button/test/fixtures/multiple-buttons.js +13 -0
- package/es/molecule/bullet-point-menu-button/test/fixtures/multiple-buttons.js.map +1 -0
- package/es/molecule/bullet-point-menu-button/test/fixtures.js +15 -0
- package/es/molecule/bullet-point-menu-button/test/fixtures.js.map +1 -0
- package/es/molecule/card/test/fixtures.js +4 -0
- package/es/molecule/card/test/fixtures.js.map +1 -1
- package/es/molecule/cm-popin/index.js +4 -4
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/cm-popin/test/fixtures/dangerous.js +2 -2
- package/es/molecule/cm-popin/test/fixtures/dangerous.js.map +1 -1
- package/es/molecule/cm-popin/test/fixtures/default.js +2 -2
- package/es/molecule/cm-popin/test/fixtures/default.js.map +1 -1
- package/es/molecule/cm-popin/test/fixtures/warning-with-close.js +2 -2
- package/es/molecule/cm-popin/test/fixtures/warning-with-close.js.map +1 -1
- package/es/molecule/cm-popin/test/fixtures.js +17 -0
- package/es/molecule/cm-popin/test/fixtures.js.map +1 -0
- package/es/molecule/feedback/test/fixtures.js +0 -2
- package/es/molecule/feedback/test/fixtures.js.map +1 -1
- 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/molecule/vertical-tabs/index.js +8 -3
- package/es/molecule/vertical-tabs/index.js.map +1 -1
- package/es/molecule/vertical-tabs/test/fixtures/default.js +2 -1
- package/es/molecule/vertical-tabs/test/fixtures/default.js.map +1 -1
- package/es/molecule/vertical-tabs/test/fixtures/with-selected-item.js +2 -1
- package/es/molecule/vertical-tabs/test/fixtures/with-selected-item.js.map +1 -1
- package/es/molecule/vertical-tabs/test/fixtures.js +15 -0
- package/es/molecule/vertical-tabs/test/fixtures.js.map +1 -0
- package/es/molecule/wizard-summary/index.js +3 -1
- package/es/molecule/wizard-summary/index.js.map +1 -1
- package/es/molecule/wizard-summary/style.css +8 -0
- package/es/molecule/wizard-summary/test/fixtures.js +21 -0
- package/es/molecule/wizard-summary/test/fixtures.js.map +1 -0
- package/es/organism/brand-form/test/fixtures/wizard-playlists.js +26 -0
- package/es/organism/brand-form/test/fixtures/wizard-playlists.js.map +1 -0
- package/es/organism/brand-form/test/fixtures.js +2 -0
- package/es/organism/brand-form/test/fixtures.js.map +1 -1
- package/es/organism/playlist-translation/index.js +63 -0
- package/es/organism/playlist-translation/index.js.map +1 -0
- package/es/organism/playlist-translation/style.css +45 -0
- package/es/organism/playlist-translation/test/fixtures/default.js +24 -0
- package/es/organism/playlist-translation/test/fixtures/default.js.map +1 -0
- package/es/organism/playlist-translation/test/fixtures/delete.js +18 -0
- package/es/organism/playlist-translation/test/fixtures/delete.js.map +1 -0
- package/es/organism/search-and-chips-results/index.js +92 -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/organism/search-and-chips-results/test/fixtures.js +21 -0
- package/es/organism/search-and-chips-results/test/fixtures.js.map +1 -0
- package/es/template/app-player/popin-end/test/fixtures.js +0 -2
- package/es/template/app-player/popin-end/test/fixtures.js.map +1 -1
- package/es/template/teams-dashboard/index.js +4 -3
- package/es/template/teams-dashboard/index.js.map +1 -1
- package/es/variables/colors.css +2 -0
- package/lib/atom/button-link/index.js +9 -2
- package/lib/atom/button-link/index.js.map +1 -1
- package/lib/atom/button-link/style.css +4 -5
- package/lib/atom/button-link/test/button-link.js +37 -0
- package/lib/atom/button-link/test/button-link.js.map +1 -0
- package/lib/atom/button-link/test/fixtures/button-tertiary-icon-bullet.js +18 -0
- package/lib/atom/button-link/test/fixtures/button-tertiary-icon-bullet.js.map +1 -0
- package/lib/atom/button-link/test/fixtures.js +55 -0
- package/lib/atom/button-link/test/fixtures.js.map +1 -0
- package/lib/atom/button-menu/index.js +82 -0
- package/lib/atom/button-menu/index.js.map +1 -0
- package/lib/atom/button-menu/style.css +51 -0
- package/lib/atom/button-menu/test/fixtures/default.js +27 -0
- package/lib/atom/button-menu/test/fixtures/default.js.map +1 -0
- package/lib/atom/button-menu/test/fixtures/multiple-buttons.js +23 -0
- package/lib/atom/button-menu/test/fixtures/multiple-buttons.js.map +1 -0
- package/lib/atom/button-menu/test/fixtures.js +25 -0
- package/lib/atom/button-menu/test/fixtures.js.map +1 -0
- 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/chips/test/fixtures.js +28 -0
- package/lib/atom/chips/test/fixtures.js.map +1 -0
- package/lib/atom/content-badge/test/fixtures.js +43 -0
- package/lib/atom/content-badge/test/fixtures.js.map +1 -0
- package/lib/atom/input-search/style.css +1 -0
- package/lib/atom/input-search/test/fixtures.js +31 -0
- package/lib/atom/input-search/test/fixtures.js.map +1 -0
- package/lib/atom/input-text/index.js.map +1 -1
- package/lib/atom/input-text/style.css +6 -2
- package/lib/atom/input-text/test/fixtures.js +3 -0
- package/lib/atom/input-text/test/fixtures.js.map +1 -1
- package/lib/atom/input-textarea/style.css +3 -3
- package/lib/atom/input-textarea/test/fixtures.js +6 -0
- package/lib/atom/input-textarea/test/fixtures.js.map +1 -1
- package/lib/atom/tag/test/fixtures.js +31 -0
- package/lib/atom/tag/test/fixtures.js.map +1 -0
- package/lib/atom/wizard-steps/test/fixtures.js +28 -0
- package/lib/atom/wizard-steps/test/fixtures.js.map +1 -0
- package/lib/molecule/banner/index.js +19 -10
- package/lib/molecule/banner/index.js.map +1 -1
- package/lib/molecule/banner/style.css +10 -8
- package/lib/molecule/{search → banner}/test/fixtures.js +5 -5
- package/lib/molecule/banner/test/fixtures.js.map +1 -0
- package/lib/molecule/brand-form-group/index.js +22 -5
- package/lib/molecule/brand-form-group/index.js.map +1 -1
- package/lib/molecule/brand-form-group/style.css +19 -0
- package/lib/molecule/brand-form-group/test/fixtures.js +3 -0
- package/lib/molecule/brand-form-group/test/fixtures.js.map +1 -1
- package/lib/molecule/bullet-point-menu-button/index.js +72 -0
- package/lib/molecule/bullet-point-menu-button/index.js.map +1 -0
- package/lib/molecule/bullet-point-menu-button/style.css +52 -0
- package/lib/molecule/bullet-point-menu-button/test/bullet-point-menu-button.js +46 -0
- package/lib/molecule/bullet-point-menu-button/test/bullet-point-menu-button.js.map +1 -0
- package/lib/molecule/bullet-point-menu-button/test/fixtures/default.js +18 -0
- package/lib/molecule/bullet-point-menu-button/test/fixtures/default.js.map +1 -0
- package/lib/molecule/bullet-point-menu-button/test/fixtures/multiple-buttons.js +25 -0
- package/lib/molecule/bullet-point-menu-button/test/fixtures/multiple-buttons.js.map +1 -0
- package/lib/molecule/bullet-point-menu-button/test/fixtures.js +25 -0
- package/lib/molecule/bullet-point-menu-button/test/fixtures.js.map +1 -0
- package/lib/molecule/card/test/fixtures.js +6 -0
- package/lib/molecule/card/test/fixtures.js.map +1 -1
- package/lib/molecule/cm-popin/index.js +4 -4
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/cm-popin/test/fixtures/dangerous.js +2 -2
- package/lib/molecule/cm-popin/test/fixtures/dangerous.js.map +1 -1
- package/lib/molecule/cm-popin/test/fixtures/default.js +2 -2
- package/lib/molecule/cm-popin/test/fixtures/default.js.map +1 -1
- package/lib/molecule/cm-popin/test/fixtures/warning-with-close.js +2 -2
- package/lib/molecule/cm-popin/test/fixtures/warning-with-close.js.map +1 -1
- package/lib/molecule/cm-popin/test/fixtures.js +28 -0
- package/lib/molecule/cm-popin/test/fixtures.js.map +1 -0
- package/lib/molecule/feedback/test/fixtures.js +0 -3
- package/lib/molecule/feedback/test/fixtures.js.map +1 -1
- 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/molecule/vertical-tabs/index.js +8 -3
- package/lib/molecule/vertical-tabs/index.js.map +1 -1
- package/lib/molecule/vertical-tabs/test/fixtures/default.js +2 -1
- package/lib/molecule/vertical-tabs/test/fixtures/default.js.map +1 -1
- package/lib/molecule/vertical-tabs/test/fixtures/with-selected-item.js +2 -1
- package/lib/molecule/vertical-tabs/test/fixtures/with-selected-item.js.map +1 -1
- package/lib/molecule/vertical-tabs/test/fixtures.js +25 -0
- package/lib/molecule/vertical-tabs/test/fixtures.js.map +1 -0
- package/lib/molecule/wizard-summary/index.js +3 -1
- package/lib/molecule/wizard-summary/index.js.map +1 -1
- package/lib/molecule/wizard-summary/style.css +8 -0
- package/lib/molecule/wizard-summary/test/fixtures.js +34 -0
- package/lib/molecule/wizard-summary/test/fixtures.js.map +1 -0
- package/lib/organism/brand-form/test/fixtures/wizard-playlists.js +31 -0
- package/lib/organism/brand-form/test/fixtures/wizard-playlists.js.map +1 -0
- package/lib/organism/brand-form/test/fixtures.js +3 -0
- package/lib/organism/brand-form/test/fixtures.js.map +1 -1
- package/lib/organism/playlist-translation/index.js +78 -0
- package/lib/organism/playlist-translation/index.js.map +1 -0
- package/lib/organism/playlist-translation/style.css +45 -0
- package/lib/organism/playlist-translation/test/fixtures/default.js +35 -0
- package/lib/organism/playlist-translation/test/fixtures/default.js.map +1 -0
- package/lib/organism/playlist-translation/test/fixtures/delete.js +29 -0
- package/lib/organism/playlist-translation/test/fixtures/delete.js.map +1 -0
- package/lib/organism/search-and-chips-results/index.js +105 -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/organism/search-and-chips-results/test/fixtures.js +34 -0
- package/lib/organism/search-and-chips-results/test/fixtures.js.map +1 -0
- package/lib/template/app-player/popin-end/test/fixtures.js +0 -3
- package/lib/template/app-player/popin-end/test/fixtures.js.map +1 -1
- package/lib/template/teams-dashboard/index.js +3 -1
- package/lib/template/teams-dashboard/index.js.map +1 -1
- package/lib/variables/colors.css +2 -0
- package/package.json +3 -3
- package/es/molecule/cockpit-popin/test/fixtures.js +0 -17
- package/es/molecule/cockpit-popin/test/fixtures.js.map +0 -1
- package/es/molecule/search/test/fixtures.js +0 -15
- package/es/molecule/search/test/fixtures.js.map +0 -1
- package/lib/molecule/cockpit-popin/test/fixtures.js +0 -28
- package/lib/molecule/cockpit-popin/test/fixtures.js.map +0 -1
- package/lib/molecule/search/test/fixtures.js.map +0 -1
|
@@ -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":"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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":["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"}
|
|
@@ -31,11 +31,14 @@ const buildTab = (tab, index) => {
|
|
|
31
31
|
|
|
32
32
|
const VerticalTabs = props => {
|
|
33
33
|
const {
|
|
34
|
-
tabs
|
|
34
|
+
tabs,
|
|
35
|
+
className,
|
|
36
|
+
'aria-label': ariaLabel
|
|
35
37
|
} = props;
|
|
36
38
|
const tabsList = tabs.map(buildTab);
|
|
37
39
|
return /*#__PURE__*/React.createElement("ul", {
|
|
38
|
-
className: style.wrapper
|
|
40
|
+
className: classnames([style.wrapper, className]),
|
|
41
|
+
title: ariaLabel
|
|
39
42
|
}, tabsList);
|
|
40
43
|
};
|
|
41
44
|
|
|
@@ -45,7 +48,9 @@ VerticalTabs.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
45
48
|
selected: PropTypes.bool,
|
|
46
49
|
leftIcon: PropTypes.string,
|
|
47
50
|
onClick: PropTypes.func
|
|
48
|
-
}))
|
|
51
|
+
})),
|
|
52
|
+
className: PropTypes.string,
|
|
53
|
+
'aria-label': PropTypes.string
|
|
49
54
|
} : {};
|
|
50
55
|
export default VerticalTabs;
|
|
51
56
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/vertical-tabs/index.js"],"names":["React","PropTypes","classnames","NovaSolidStatusCheckCircle2","CheckIcon","Link","style","LeftIcons","BlueValidatedCircle","buildTab","tab","index","title","selected","onClick","leftIcon","LeftIcon","VerticalTabs","props","tabs","tabsList","map","wrapper","propTypes","arrayOf","shape","children","bool","string","func"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAAQC,2BAA2B,IAAIC,SAAvC,QAAuD,0BAAvD;AAEA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,SAAS,GAAG;AAChBC,EAAAA,mBAAmB,EAAEJ;AADL,CAAlB;;AAIA,MAAMK,QAAQ,GAAG,CAACC,GAAD,EAAMC,KAAN,KAAgB;AAC/B,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,QAAR;AAAkBC,IAAAA,OAAlB;AAA2BC,IAAAA;AAA3B,MAAuCL,GAA7C;AAEA,QAAMM,QAAQ,GAAGT,SAAS,CAACQ,QAAD,CAA1B;AACA,sBACE;AACE,iBAAY,gBAAe,WAAUH,KAAV,CAAiB,EAD9C;AAEE,IAAA,SAAS,EAAEV,UAAU,CAACI,KAAK,CAACI,GAAP,EAAYG,QAAQ,IAAIP,KAAK,CAACO,QAA9B,CAFvB;AAGE,IAAA,GAAG,EAAEF,KAHP;AAIE,IAAA,OAAO,EAAEG;AAJX,kBAME;AAAM,IAAA,SAAS,EAAER,KAAK,CAACM;AAAvB,KAA+BA,KAA/B,CANF,EAOGI,QAAQ,gBAAG,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAEV,KAAK,CAACS;AAA3B,IAAH,GAA6C,IAPxD,CADF;AAWD,CAfD;;AAiBA,MAAME,YAAY,GAAGC,KAAK,IAAI;AAC5B,QAAM;AAACC,IAAAA;
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/vertical-tabs/index.js"],"names":["React","PropTypes","classnames","NovaSolidStatusCheckCircle2","CheckIcon","Link","style","LeftIcons","BlueValidatedCircle","buildTab","tab","index","title","selected","onClick","leftIcon","LeftIcon","VerticalTabs","props","tabs","className","ariaLabel","tabsList","map","wrapper","propTypes","arrayOf","shape","children","bool","string","func"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAAQC,2BAA2B,IAAIC,SAAvC,QAAuD,0BAAvD;AAEA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,SAAS,GAAG;AAChBC,EAAAA,mBAAmB,EAAEJ;AADL,CAAlB;;AAIA,MAAMK,QAAQ,GAAG,CAACC,GAAD,EAAMC,KAAN,KAAgB;AAC/B,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,QAAR;AAAkBC,IAAAA,OAAlB;AAA2BC,IAAAA;AAA3B,MAAuCL,GAA7C;AAEA,QAAMM,QAAQ,GAAGT,SAAS,CAACQ,QAAD,CAA1B;AACA,sBACE;AACE,iBAAY,gBAAe,WAAUH,KAAV,CAAiB,EAD9C;AAEE,IAAA,SAAS,EAAEV,UAAU,CAACI,KAAK,CAACI,GAAP,EAAYG,QAAQ,IAAIP,KAAK,CAACO,QAA9B,CAFvB;AAGE,IAAA,GAAG,EAAEF,KAHP;AAIE,IAAA,OAAO,EAAEG;AAJX,kBAME;AAAM,IAAA,SAAS,EAAER,KAAK,CAACM;AAAvB,KAA+BA,KAA/B,CANF,EAOGI,QAAQ,gBAAG,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAEV,KAAK,CAACS;AAA3B,IAAH,GAA6C,IAPxD,CADF;AAWD,CAfD;;AAiBA,MAAME,YAAY,GAAGC,KAAK,IAAI;AAC5B,QAAM;AAACC,IAAAA,IAAD;AAAOC,IAAAA,SAAP;AAAkB,kBAAcC;AAAhC,MAA6CH,KAAnD;AACA,QAAMI,QAAQ,GAAGH,IAAI,CAACI,GAAL,CAASd,QAAT,CAAjB;AAEA,sBACE;AAAI,IAAA,SAAS,EAAEP,UAAU,CAAC,CAACI,KAAK,CAACkB,OAAP,EAAgBJ,SAAhB,CAAD,CAAzB;AAAuD,IAAA,KAAK,EAAEC;AAA9D,KACGC,QADH,CADF;AAKD,CATD;;AAWAL,YAAY,CAACQ,SAAb,2CAAyB;AACvBN,EAAAA,IAAI,EAAElB,SAAS,CAACyB,OAAV,CACJzB,SAAS,CAAC0B,KAAV,CAAgB;AACdf,IAAAA,KAAK,EAAEP,IAAI,CAACoB,SAAL,CAAeG,QADR;AAEdf,IAAAA,QAAQ,EAAEZ,SAAS,CAAC4B,IAFN;AAGdd,IAAAA,QAAQ,EAAEd,SAAS,CAAC6B,MAHN;AAIdhB,IAAAA,OAAO,EAAEb,SAAS,CAAC8B;AAJL,GAAhB,CADI,CADiB;AASvBX,EAAAA,SAAS,EAAEnB,SAAS,CAAC6B,MATE;AAUvB,gBAAc7B,SAAS,CAAC6B;AAVD,CAAzB;AAYA,eAAeb,YAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {NovaSolidStatusCheckCircle2 as CheckIcon} from '@coorpacademy/nova-icons';\nimport {snakeCase} from 'lodash/fp';\nimport Link from '../../atom/link';\nimport style from './style.css';\n\nconst LeftIcons = {\n BlueValidatedCircle: CheckIcon\n};\n\nconst buildTab = (tab, index) => {\n const {title, selected, onClick, leftIcon} = tab;\n\n const LeftIcon = LeftIcons[leftIcon];\n return (\n <li\n data-name={`vertical_tab_${snakeCase(title)}`}\n className={classnames(style.tab, selected && style.selected)}\n key={index}\n onClick={onClick}\n >\n <span className={style.title}>{title}</span>\n {LeftIcon ? <LeftIcon className={style.leftIcon} /> : null}\n </li>\n );\n};\n\nconst VerticalTabs = props => {\n const {tabs, className, 'aria-label': ariaLabel} = props;\n const tabsList = tabs.map(buildTab);\n\n return (\n <ul className={classnames([style.wrapper, className])} title={ariaLabel}>\n {tabsList}\n </ul>\n );\n};\n\nVerticalTabs.propTypes = {\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: Link.propTypes.children,\n selected: PropTypes.bool,\n leftIcon: PropTypes.string,\n onClick: PropTypes.func\n })\n ),\n className: PropTypes.string,\n 'aria-label': PropTypes.string\n};\nexport default VerticalTabs;\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/molecule/vertical-tabs/test/fixtures/default.js"],"names":["props","tabs","title","leftIcon","onClick","console","log","selected"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,CACJ;AACEC,MAAAA,KAAK,EAAE,aADT;AAEEC,MAAAA,QAAQ,EAAE,qBAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KADI,EAOJ;AACEL,MAAAA,KAAK,EAAE,cADT;AAEEC,MAAAA,QAAQ,EAAE,qBAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KAPI,EAaJ;AACEL,MAAAA,KAAK,EAAE,cADT;AAEEC,MAAAA,QAAQ,EAAE,qBAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KAbI,EAmBJ;AACEL,MAAAA,KAAK,EAAE,aADT;AAEEC,MAAAA,QAAQ,EAAE,EAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KAnBI,EAyBJ;AACEL,MAAAA,KAAK,EAAE,cADT;AAEEC,MAAAA,QAAQ,EAAE,EAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KAzBI,EA+BJ;AACEL,MAAAA,KAAK,EAAE,aADT;AAEEC,MAAAA,QAAQ,EAAE,EAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KA/BI,EAqCJ;AACEL,MAAAA,KAAK,EAAE,cADT;AAEEC,MAAAA,QAAQ,EAAE,EAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KArCI;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/vertical-tabs/test/fixtures/default.js"],"names":["props","tabs","title","leftIcon","onClick","console","log","selected"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,CACJ;AACEC,MAAAA,KAAK,EAAE,aADT;AAEEC,MAAAA,QAAQ,EAAE,qBAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KADI,EAOJ;AACEL,MAAAA,KAAK,EAAE,cADT;AAEEC,MAAAA,QAAQ,EAAE,qBAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KAPI,EAaJ;AACEL,MAAAA,KAAK,EAAE,cADT;AAEEC,MAAAA,QAAQ,EAAE,qBAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KAbI,EAmBJ;AACEL,MAAAA,KAAK,EAAE,aADT;AAEEC,MAAAA,QAAQ,EAAE,EAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KAnBI,EAyBJ;AACEL,MAAAA,KAAK,EAAE,cADT;AAEEC,MAAAA,QAAQ,EAAE,EAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KAzBI,EA+BJ;AACEL,MAAAA,KAAK,EAAE,aADT;AAEEC,MAAAA,QAAQ,EAAE,EAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KA/BI,EAqCJ;AACEL,MAAAA,KAAK,EAAE,cADT;AAEEC,MAAAA,QAAQ,EAAE,EAFZ;AAGEC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ,CAHjB;AAIEC,MAAAA,QAAQ,EAAE;AAJZ,KArCI,CADD;AA6CL,kBAAc;AA7CT;AADM,CAAf","sourcesContent":["export default {\n props: {\n tabs: [\n {\n title: '🇫🇷 French',\n leftIcon: 'BlueValidatedCircle',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇪🇸 Spanish',\n leftIcon: 'BlueValidatedCircle',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇮🇹 Italian',\n leftIcon: 'BlueValidatedCircle',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇩🇪 German',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇷🇺 Russian',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇵🇱 Polish',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇹🇷 Turkish',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n }\n ],\n 'aria-label': 'Languages list'\n }\n};\n"],"file":"default.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/molecule/vertical-tabs/test/fixtures/with-selected-item.js"],"names":["props","tabs","title","leftIcon","onClick","console","log","selected"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/vertical-tabs/test/fixtures/with-selected-item.js"],"names":["props","tabs","title","leftIcon","onClick","console","log","selected"],"mappings":"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","sourcesContent":["export default {\n props: {\n tabs: [\n {\n title: '🇫🇷 French',\n leftIcon: 'BlueValidatedCircle',\n onClick: () => console.log('click'),\n selected: true\n },\n {\n title: '🇪🇸 Spanish',\n leftIcon: 'BlueValidatedCircle',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇮🇹 Italian',\n leftIcon: 'BlueValidatedCircle',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇩🇪 German',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇷🇺 Russian',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇵🇱 Polish',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇹🇷 Turkish',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇩🇪 German',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇷🇺 Russian',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇵🇱 Polish',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇹🇷 Turkish',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇩🇪 German',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇷🇺 Russian',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇵🇱 Polish',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n },\n {\n title: '🇹🇷 Turkish',\n leftIcon: '',\n onClick: () => console.log('click'),\n selected: false\n }\n ],\n 'aria-label': 'Languages list'\n }\n};\n"],"file":"with-selected-item.js"}
|