@coorpacademy/components 10.1.12 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/button-link/index.js +1 -1
- package/es/atom/button-link/index.js.map +1 -1
- package/es/atom/button-link-icon-only/index.js +1 -1
- package/es/atom/button-link-icon-only/index.js.map +1 -1
- package/es/atom/button-menu/index.js +2 -4
- package/es/atom/button-menu/index.js.map +1 -1
- package/es/atom/chips/style.css +1 -2
- package/es/atom/image-upload/index.js +5 -3
- package/es/atom/image-upload/index.js.map +1 -1
- package/es/atom/input-checkbox/index.js +9 -3
- package/es/atom/input-checkbox/index.js.map +1 -1
- package/es/atom/input-checkbox/style.css +15 -0
- package/es/atom/input-color/style.css +1 -1
- package/es/hoc/transition/index.js +10 -3
- package/es/hoc/transition/index.js.map +1 -1
- package/es/molecule/banner/index.js +16 -7
- package/es/molecule/banner/index.js.map +1 -1
- package/es/molecule/banner/style.css +47 -0
- package/es/molecule/banner/test/fixtures/default.js +1 -1
- package/es/molecule/banner/test/fixtures/default.js.map +1 -1
- package/es/molecule/banner/test/fixtures/error-temporary-banner.js +8 -0
- package/es/molecule/banner/test/fixtures/error-temporary-banner.js.map +1 -0
- package/es/molecule/banner/test/fixtures/success-banner.js +7 -0
- package/es/molecule/banner/test/fixtures/success-banner.js.map +1 -0
- package/es/molecule/banner/test/fixtures/success-temporary-banner.js +8 -0
- package/es/molecule/banner/test/fixtures/success-temporary-banner.js.map +1 -0
- package/es/molecule/banner/test/fixtures/warning-temporary-banner.js +8 -0
- package/es/molecule/banner/test/fixtures/warning-temporary-banner.js.map +1 -0
- package/es/molecule/banner/test/fixtures.js +4 -0
- package/es/molecule/banner/test/fixtures.js.map +1 -1
- package/es/molecule/brand-create-form/index.js +4 -1
- package/es/molecule/brand-create-form/index.js.map +1 -1
- package/es/molecule/bullet-point-menu-button/index.js +1 -5
- package/es/molecule/bullet-point-menu-button/index.js.map +1 -1
- package/es/molecule/bullet-point-menu-button/style.css +11 -7
- package/es/molecule/card/index.js +1 -1
- package/es/molecule/card/index.js.map +1 -1
- package/es/molecule/cockpit-popin/test/fixtures.js +17 -0
- package/es/molecule/cockpit-popin/test/fixtures.js.map +1 -0
- package/es/molecule/search/test/fixtures.js +15 -0
- package/es/molecule/search/test/fixtures.js.map +1 -0
- package/es/molecule/select-multiple/index.js +100 -17
- package/es/molecule/select-multiple/index.js.map +1 -1
- package/es/molecule/select-multiple/style.css +293 -11
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-disabled.js +32 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-disabled.js.map +1 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-error.js +32 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-error.js.map +1 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-multiple.js +32 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-multiple.js.map +1 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme.js +32 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme.js.map +1 -0
- package/es/molecule/select-multiple/test/fixtures/setup-theme-error.js +1 -1
- package/es/molecule/select-multiple/test/fixtures/setup-theme-error.js.map +1 -1
- package/es/molecule/select-multiple/test/fixtures.js +8 -0
- package/es/molecule/select-multiple/test/fixtures.js.map +1 -1
- package/es/molecule/share/index.js +3 -2
- package/es/molecule/share/index.js.map +1 -1
- package/es/molecule/wizard-summary/index.js +16 -10
- package/es/molecule/wizard-summary/index.js.map +1 -1
- package/es/organism/accordion/container/index.js +1 -1
- package/es/organism/accordion/container/index.js.map +1 -1
- package/es/organism/accordion/coorp-manager/index.js +6 -3
- package/es/organism/accordion/coorp-manager/index.js.map +1 -1
- package/es/organism/brand-form/test/fixtures/wizard-playlists.js +26 -0
- package/es/organism/brand-form/test/fixtures/wizard-playlists.js.map +1 -1
- package/es/organism/list-item/index.js +3 -3
- package/es/organism/list-item/index.js.map +1 -1
- package/es/organism/list-item/style.css +14 -10
- package/es/organism/list-items/index.js +40 -0
- package/es/organism/list-items/index.js.map +1 -0
- package/es/organism/list-items/style.css +39 -0
- package/es/organism/list-items/test/fixtures/archived.js +24 -0
- package/es/organism/list-items/test/fixtures/archived.js.map +1 -0
- package/es/organism/list-items/test/fixtures/draft.js +24 -0
- package/es/organism/list-items/test/fixtures/draft.js.map +1 -0
- package/es/organism/list-items/test/fixtures/published.js +26 -0
- package/es/organism/list-items/test/fixtures/published.js.map +1 -0
- package/es/template/back-office/brand-update/index.js +13 -6
- package/es/template/back-office/brand-update/index.js.map +1 -1
- package/es/template/back-office/brand-update/style.css +57 -13
- package/es/template/teams-dashboard/index.js +4 -6
- package/es/template/teams-dashboard/index.js.map +1 -1
- package/lib/atom/button-link/index.js +1 -1
- package/lib/atom/button-link/index.js.map +1 -1
- package/lib/atom/button-link-icon-only/index.js +1 -1
- package/lib/atom/button-link-icon-only/index.js.map +1 -1
- package/lib/atom/button-menu/index.js +2 -4
- package/lib/atom/button-menu/index.js.map +1 -1
- package/lib/atom/chips/style.css +1 -2
- package/lib/atom/image-upload/index.js +5 -2
- package/lib/atom/image-upload/index.js.map +1 -1
- package/lib/atom/input-checkbox/index.js +10 -3
- package/lib/atom/input-checkbox/index.js.map +1 -1
- package/lib/atom/input-checkbox/style.css +15 -0
- package/lib/atom/input-color/style.css +1 -1
- package/lib/hoc/transition/index.js +10 -3
- package/lib/hoc/transition/index.js.map +1 -1
- package/lib/molecule/banner/index.js +17 -6
- package/lib/molecule/banner/index.js.map +1 -1
- package/lib/molecule/banner/style.css +47 -0
- package/lib/molecule/banner/test/fixtures/default.js +1 -1
- package/lib/molecule/banner/test/fixtures/default.js.map +1 -1
- package/lib/molecule/banner/test/fixtures/error-temporary-banner.js +13 -0
- package/lib/molecule/banner/test/fixtures/error-temporary-banner.js.map +1 -0
- package/lib/molecule/banner/test/fixtures/success-banner.js +12 -0
- package/lib/molecule/banner/test/fixtures/success-banner.js.map +1 -0
- package/lib/molecule/banner/test/fixtures/success-temporary-banner.js +13 -0
- package/lib/molecule/banner/test/fixtures/success-temporary-banner.js.map +1 -0
- package/lib/molecule/banner/test/fixtures/warning-temporary-banner.js +13 -0
- package/lib/molecule/banner/test/fixtures/warning-temporary-banner.js.map +1 -0
- package/lib/molecule/banner/test/fixtures.js +6 -0
- package/lib/molecule/banner/test/fixtures.js.map +1 -1
- package/lib/molecule/brand-create-form/index.js +4 -1
- package/lib/molecule/brand-create-form/index.js.map +1 -1
- package/lib/molecule/bullet-point-menu-button/index.js +1 -5
- package/lib/molecule/bullet-point-menu-button/index.js.map +1 -1
- package/lib/molecule/bullet-point-menu-button/style.css +11 -7
- package/lib/molecule/card/index.js +1 -1
- package/lib/molecule/card/index.js.map +1 -1
- package/lib/molecule/cockpit-popin/test/fixtures.js +28 -0
- package/lib/molecule/cockpit-popin/test/fixtures.js.map +1 -0
- package/lib/molecule/search/test/fixtures.js +25 -0
- package/lib/molecule/search/test/fixtures.js.map +1 -0
- package/lib/molecule/select-multiple/index.js +102 -16
- package/lib/molecule/select-multiple/index.js.map +1 -1
- package/lib/molecule/select-multiple/style.css +293 -11
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-disabled.js +37 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-disabled.js.map +1 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-error.js +37 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-error.js.map +1 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-multiple.js +37 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-multiple.js.map +1 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme.js +37 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme.js.map +1 -0
- package/lib/molecule/select-multiple/test/fixtures/setup-theme-error.js +1 -1
- package/lib/molecule/select-multiple/test/fixtures/setup-theme-error.js.map +1 -1
- package/lib/molecule/select-multiple/test/fixtures.js +12 -0
- package/lib/molecule/select-multiple/test/fixtures.js.map +1 -1
- package/lib/molecule/share/index.js +2 -1
- package/lib/molecule/share/index.js.map +1 -1
- package/lib/molecule/wizard-summary/index.js +16 -10
- package/lib/molecule/wizard-summary/index.js.map +1 -1
- package/lib/organism/accordion/container/index.js +1 -1
- package/lib/organism/accordion/container/index.js.map +1 -1
- package/lib/organism/accordion/coorp-manager/index.js +5 -3
- package/lib/organism/accordion/coorp-manager/index.js.map +1 -1
- package/lib/organism/brand-form/test/fixtures/wizard-playlists.js +26 -0
- package/lib/organism/brand-form/test/fixtures/wizard-playlists.js.map +1 -1
- package/lib/organism/list-item/index.js +3 -3
- package/lib/organism/list-item/index.js.map +1 -1
- package/lib/organism/list-item/style.css +14 -10
- package/lib/organism/list-items/index.js +53 -0
- package/lib/organism/list-items/index.js.map +1 -0
- package/lib/organism/list-items/style.css +39 -0
- package/lib/organism/list-items/test/fixtures/archived.js +33 -0
- package/lib/organism/list-items/test/fixtures/archived.js.map +1 -0
- package/lib/organism/list-items/test/fixtures/draft.js +33 -0
- package/lib/organism/list-items/test/fixtures/draft.js.map +1 -0
- package/lib/organism/list-items/test/fixtures/published.js +36 -0
- package/lib/organism/list-items/test/fixtures/published.js.map +1 -0
- package/lib/template/back-office/brand-update/index.js +14 -6
- package/lib/template/back-office/brand-update/index.js.map +1 -1
- package/lib/template/back-office/brand-update/style.css +57 -13
- package/lib/template/teams-dashboard/index.js +4 -6
- package/lib/template/teams-dashboard/index.js.map +1 -1
- package/package.json +3 -2
- package/es/molecule/short-lived-banner/test/fixtures.js +0 -15
- package/es/molecule/short-lived-banner/test/fixtures.js.map +0 -1
- package/lib/molecule/short-lived-banner/test/fixtures.js +0 -25
- package/lib/molecule/short-lived-banner/test/fixtures.js.map +0 -1
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = exports.useChoices = void 0;
|
|
5
5
|
|
|
6
|
+
var _isEmpty2 = _interopRequireDefault(require("lodash/fp/isEmpty"));
|
|
7
|
+
|
|
8
|
+
var _keys2 = _interopRequireDefault(require("lodash/fp/keys"));
|
|
9
|
+
|
|
6
10
|
var _set2 = _interopRequireDefault(require("lodash/fp/set"));
|
|
7
11
|
|
|
8
12
|
var _get2 = _interopRequireDefault(require("lodash/fp/get"));
|
|
@@ -27,6 +31,8 @@ var _titledCheckbox = _interopRequireDefault(require("../titled-checkbox"));
|
|
|
27
31
|
|
|
28
32
|
var _provider = _interopRequireDefault(require("../../atom/provider"));
|
|
29
33
|
|
|
34
|
+
var _inputCheckbox = _interopRequireDefault(require("../../atom/input-checkbox"));
|
|
35
|
+
|
|
30
36
|
var _getClassState = _interopRequireDefault(require("../../util/get-class-state"));
|
|
31
37
|
|
|
32
38
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
@@ -42,7 +48,8 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
42
48
|
const themeStyle = {
|
|
43
49
|
setup: _style.default.setup,
|
|
44
50
|
cockpit: _style.default.cockpit,
|
|
45
|
-
sidebar: _style.default.sidebar
|
|
51
|
+
sidebar: _style.default.sidebar,
|
|
52
|
+
coorpmanager: _style.default.coorpmanager
|
|
46
53
|
};
|
|
47
54
|
|
|
48
55
|
const useChoices = options => {
|
|
@@ -62,17 +69,49 @@ const useChoices = options => {
|
|
|
62
69
|
|
|
63
70
|
exports.useChoices = useChoices;
|
|
64
71
|
|
|
72
|
+
const CMMultipleView = ({
|
|
73
|
+
multiple,
|
|
74
|
+
choice,
|
|
75
|
+
onChange
|
|
76
|
+
}) => {
|
|
77
|
+
const handleChange = (0, _react.useCallback)(checked => {
|
|
78
|
+
if (!multiple) {
|
|
79
|
+
return onChange(choice);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return onChange(_extends(_extends({}, choice), {}, {
|
|
83
|
+
selected: checked
|
|
84
|
+
}));
|
|
85
|
+
}, [onChange, choice, multiple]);
|
|
86
|
+
return multiple ? /*#__PURE__*/_react.default.createElement("div", {
|
|
87
|
+
className: _style.default.item
|
|
88
|
+
}, /*#__PURE__*/_react.default.createElement(_inputCheckbox.default, {
|
|
89
|
+
titleStyle: "inherit",
|
|
90
|
+
checked: choice.selected,
|
|
91
|
+
onChange: handleChange,
|
|
92
|
+
noLabelMargins: true,
|
|
93
|
+
title: choice.name
|
|
94
|
+
})) : /*#__PURE__*/_react.default.createElement("span", {
|
|
95
|
+
className: _style.default.item,
|
|
96
|
+
onClick: handleChange,
|
|
97
|
+
title: choice.name
|
|
98
|
+
}, choice.name);
|
|
99
|
+
};
|
|
100
|
+
|
|
65
101
|
const SelectMultiple = ({
|
|
66
102
|
title,
|
|
67
103
|
options,
|
|
68
104
|
theme,
|
|
69
105
|
placeholder,
|
|
70
106
|
description,
|
|
107
|
+
hint,
|
|
71
108
|
multiple,
|
|
72
109
|
onChange,
|
|
110
|
+
onError,
|
|
73
111
|
modified = false,
|
|
74
112
|
required = false,
|
|
75
|
-
error =
|
|
113
|
+
error = '',
|
|
114
|
+
disabled = false
|
|
76
115
|
}, {
|
|
77
116
|
skin
|
|
78
117
|
}) => {
|
|
@@ -82,10 +121,11 @@ const SelectMultiple = ({
|
|
|
82
121
|
const defaultColor = (0, _get2.default)('common.primary', skin);
|
|
83
122
|
const black = (0, _get2.default)('common.black', skin);
|
|
84
123
|
const handleOnClick = (0, _react.useCallback)(e => {
|
|
124
|
+
if (disabled) return;
|
|
85
125
|
e.preventDefault();
|
|
86
126
|
e.stopPropagation();
|
|
87
127
|
updateIsOpened(prev => !prev);
|
|
88
|
-
}, []);
|
|
128
|
+
}, [disabled]);
|
|
89
129
|
const closeHandle = (0, _react.useCallback)(e => {
|
|
90
130
|
if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {
|
|
91
131
|
updateIsOpened(false);
|
|
@@ -100,7 +140,7 @@ const SelectMultiple = ({
|
|
|
100
140
|
}
|
|
101
141
|
|
|
102
142
|
return onChange(choice);
|
|
103
|
-
}, [
|
|
143
|
+
}, [multiple, onChange, setChoices, getChoices]);
|
|
104
144
|
(0, _react.useEffect)(() => {
|
|
105
145
|
document.addEventListener('click', closeHandle);
|
|
106
146
|
document.addEventListener('touchstart', closeHandle);
|
|
@@ -109,6 +149,7 @@ const SelectMultiple = ({
|
|
|
109
149
|
document.removeEventListener('touchstart', closeHandle);
|
|
110
150
|
};
|
|
111
151
|
}, [closeHandle]);
|
|
152
|
+
const isCMTheme = theme === 'coorpmanager';
|
|
112
153
|
|
|
113
154
|
const lines = _map2.default.convert({
|
|
114
155
|
cap: false
|
|
@@ -116,7 +157,13 @@ const SelectMultiple = ({
|
|
|
116
157
|
return /*#__PURE__*/_react.default.createElement("li", {
|
|
117
158
|
key: i,
|
|
118
159
|
className: _style.default.choice
|
|
119
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
160
|
+
}, isCMTheme ? /*#__PURE__*/_react.default.createElement(CMMultipleView, {
|
|
161
|
+
multiple: multiple,
|
|
162
|
+
choice: _extends(_extends({}, choice), {}, {
|
|
163
|
+
i
|
|
164
|
+
}),
|
|
165
|
+
onChange: handleChange
|
|
166
|
+
}) : /*#__PURE__*/_react.default.createElement(_titledCheckbox.default, {
|
|
120
167
|
onToggle: handleChange,
|
|
121
168
|
choice: _extends(_extends({}, choice), {}, {
|
|
122
169
|
i
|
|
@@ -131,47 +178,86 @@ const SelectMultiple = ({
|
|
|
131
178
|
|
|
132
179
|
const _title = title && `${title}${required ? ' *' : ''}`;
|
|
133
180
|
|
|
134
|
-
const titleView = title ? /*#__PURE__*/_react.default.createElement("span", {
|
|
135
|
-
className: _style.default.title
|
|
136
|
-
}, _title, " ") : null;
|
|
137
181
|
const isActive = isOpened === true;
|
|
182
|
+
const titleView = title ? /*#__PURE__*/_react.default.createElement("span", {
|
|
183
|
+
className: (0, _classnames.default)(_style.default.title, isCMTheme && selection && _style.default.titleWithSelection, isCMTheme && (0, _isEmpty2.default)(selection) && _style.default.noValue, isActive && _style.default.active)
|
|
184
|
+
}, _title, isCMTheme ? /*#__PURE__*/_react.default.createElement("div", {
|
|
185
|
+
className: _style.default.infoIconWrapper
|
|
186
|
+
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyInformationIcon, {
|
|
187
|
+
className: _style.default.infoIcon
|
|
188
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
189
|
+
className: _style.default.descriptionLabel
|
|
190
|
+
}, description)) : null) : null;
|
|
191
|
+
const hintView = isCMTheme && !isActive ? /*#__PURE__*/_react.default.createElement("div", {
|
|
192
|
+
className: _style.default.hint // eslint-disable-next-line react/no-danger
|
|
193
|
+
,
|
|
194
|
+
dangerouslySetInnerHTML: {
|
|
195
|
+
__html: error || hint
|
|
196
|
+
}
|
|
197
|
+
}) : null;
|
|
138
198
|
const mainClass = theme ? themeStyle[theme] : _style.default.default;
|
|
199
|
+
const showPlaceholder = isCMTheme && isActive;
|
|
139
200
|
const behaviourClassName = (0, _getClassState.default)(_style.default.default, _style.default.modified, _style.default.error, modified, error);
|
|
201
|
+
const errorIconView = error ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusClose, {
|
|
202
|
+
onClick: onError,
|
|
203
|
+
className: _style.default.errorIcon
|
|
204
|
+
}) : null;
|
|
140
205
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
141
|
-
className: (0, _classnames.default)(mainClass, behaviourClassName),
|
|
206
|
+
className: (0, _classnames.default)(mainClass, behaviourClassName, disabled && _style.default.disabled),
|
|
142
207
|
ref: nodeRef
|
|
143
|
-
}, /*#__PURE__*/_react.default.createElement("label", null, titleView, /*#__PURE__*/_react.default.createElement("div", {
|
|
208
|
+
}, /*#__PURE__*/_react.default.createElement("label", null, !isCMTheme && titleView, /*#__PURE__*/_react.default.createElement("div", {
|
|
144
209
|
className: _style.default.select,
|
|
145
210
|
title: selection || placeholder,
|
|
146
211
|
onClick: handleOnClick
|
|
147
|
-
},
|
|
212
|
+
}, isCMTheme && titleView, /*#__PURE__*/_react.default.createElement("span", {
|
|
213
|
+
className: (0, _classnames.default)(_style.default.selection, isCMTheme && (0, _isEmpty2.default)(selection) && _style.default.noselection)
|
|
214
|
+
}, selection || !isCMTheme || showPlaceholder && placeholder || null), isCMTheme ? /*#__PURE__*/_react.default.createElement("div", {
|
|
215
|
+
className: _style.default.iconsWrapper
|
|
216
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
217
|
+
className: _style.default.flex
|
|
218
|
+
}, errorIconView), /*#__PURE__*/_react.default.createElement("div", {
|
|
219
|
+
className: (0, _classnames.default)(_style.default.flex, isActive && _style.default.clicked)
|
|
220
|
+
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowDown, {
|
|
221
|
+
color: black,
|
|
222
|
+
className: (0, _classnames.default)(_style.default.arrow, {
|
|
223
|
+
[_style.default.down]: isActive
|
|
224
|
+
})
|
|
225
|
+
}))) : /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowDown, {
|
|
148
226
|
color: black,
|
|
149
227
|
className: (0, _classnames.default)(_style.default.arrow, {
|
|
150
228
|
[_style.default.down]: isActive
|
|
151
229
|
})
|
|
152
230
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
153
|
-
className:
|
|
231
|
+
className: (0, _classnames.default)(_style.default.choices, isActive && _style.default.activeChoices)
|
|
154
232
|
}, /*#__PURE__*/_react.default.createElement("ul", {
|
|
155
233
|
className: _style.default.list
|
|
156
|
-
}, lines))), /*#__PURE__*/_react.default.createElement("div", {
|
|
234
|
+
}, lines))), !isCMTheme ? /*#__PURE__*/_react.default.createElement("div", {
|
|
157
235
|
className: _style.default.description
|
|
158
|
-
}, description));
|
|
236
|
+
}, description) : null, hintView);
|
|
159
237
|
};
|
|
160
238
|
|
|
161
239
|
SelectMultiple.contextTypes = {
|
|
162
240
|
skin: _provider.default.childContextTypes.skin
|
|
163
241
|
};
|
|
242
|
+
CMMultipleView.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
243
|
+
multiple: _propTypes.default.bool,
|
|
244
|
+
choice: _titledCheckbox.default.propTypes.choice,
|
|
245
|
+
onChange: _propTypes.default.func
|
|
246
|
+
} : {};
|
|
164
247
|
SelectMultiple.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
165
248
|
title: _propTypes.default.string,
|
|
166
249
|
placeholder: _propTypes.default.string,
|
|
167
250
|
description: _propTypes.default.string,
|
|
251
|
+
hint: _propTypes.default.string,
|
|
168
252
|
options: _propTypes.default.arrayOf(_titledCheckbox.default.propTypes.choice),
|
|
169
253
|
onChange: _propTypes.default.func,
|
|
254
|
+
onError: _propTypes.default.func,
|
|
170
255
|
multiple: _propTypes.default.bool,
|
|
171
|
-
theme: _propTypes.default.string,
|
|
172
256
|
modified: _propTypes.default.bool,
|
|
257
|
+
disabled: _propTypes.default.bool,
|
|
173
258
|
required: _propTypes.default.bool,
|
|
174
|
-
error: _propTypes.default.
|
|
259
|
+
error: _propTypes.default.string,
|
|
260
|
+
theme: _propTypes.default.oneOf((0, _keys2.default)(themeStyle))
|
|
175
261
|
} : {};
|
|
176
262
|
var _default = SelectMultiple;
|
|
177
263
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["themeStyle","setup","style","cockpit","sidebar","useChoices","options","choicesRef","getChoices","current","setChoices","choice","choices","i","selected","filter","c","SelectMultiple","title","theme","placeholder","description","multiple","onChange","modified","required","error","skin","isOpened","updateIsOpened","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","handleChange","document","addEventListener","removeEventListener","lines","convert","cap","selection","_title","titleView","isActive","mainClass","default","behaviourClassName","select","arrow","down","activeChoices","list","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","arrayOf","TitledCheckbox","func","bool"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useRef, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar\n};\n\nexport const useChoices = options => {\n const choicesRef = useRef(options);\n\n const getChoices = () => {\n return choicesRef.current;\n };\n\n const setChoices = choice => {\n const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n choicesRef.current = choices.filter(c => c.selected);\n };\n\n return [getChoices, setChoices];\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n multiple,\n onChange,\n modified = false,\n required = false,\n error = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(e => {\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n }, []);\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n setChoices(choice);\n\n return onChange(getChoices());\n }\n\n return onChange(choice);\n },\n [setChoices, multiple, onChange]\n );\n\n useEffect(() => {\n document.addEventListener('click', closeHandle);\n document.addEventListener('touchstart', closeHandle);\n\n return () => {\n document.removeEventListener('click', closeHandle);\n document.removeEventListener('touchstart', closeHandle);\n };\n }, [closeHandle]);\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li key={i} className={style.choice}>\n <TitledCheckbox onToggle={handleChange} choice={{...choice, i}} background={defaultColor} />\n </li>\n );\n }, options);\n\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const _title = title && `${title}${required ? ' *' : ''}`;\n\n const titleView = title ? <span className={style.title}>{_title} </span> : null;\n const isActive = isOpened === true;\n const mainClass = theme ? themeStyle[theme] : style.default;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n return (\n <div className={classnames(mainClass, behaviourClassName)} ref={nodeRef}>\n <label>\n {titleView}\n <div className={style.select} title={selection || placeholder} onClick={handleOnClick}>\n {selection || placeholder}\n <ArrowDown color={black} className={classnames(style.arrow, {[style.down]: isActive})} />\n </div>\n <div className={isActive ? style.activeChoices : style.choices}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n multiple: PropTypes.bool,\n theme: PropTypes.string,\n modified: PropTypes.bool,\n required: PropTypes.bool,\n error: PropTypes.bool\n};\n\nexport default SelectMultiple;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["themeStyle","setup","style","cockpit","sidebar","coorpmanager","useChoices","options","choicesRef","getChoices","current","setChoices","choice","choices","i","selected","filter","c","CMMultipleView","multiple","onChange","handleChange","checked","item","name","SelectMultiple","title","theme","placeholder","description","hint","onError","modified","required","error","disabled","skin","isOpened","updateIsOpened","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","document","addEventListener","removeEventListener","isCMTheme","lines","convert","cap","selection","_title","isActive","titleView","titleWithSelection","noValue","active","infoIconWrapper","infoIcon","descriptionLabel","hintView","__html","mainClass","default","showPlaceholder","behaviourClassName","errorIconView","errorIcon","select","noselection","iconsWrapper","flex","clicked","arrow","down","activeChoices","list","contextTypes","Provider","childContextTypes","propTypes","PropTypes","bool","TitledCheckbox","func","string","arrayOf","oneOf"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,UAAU,GAAG;AACjBC,EAAAA,KAAK,EAAEC,eAAMD,KADI;AAEjBE,EAAAA,OAAO,EAAED,eAAMC,OAFE;AAGjBC,EAAAA,OAAO,EAAEF,eAAME,OAHE;AAIjBC,EAAAA,YAAY,EAAEH,eAAMG;AAJH,CAAnB;;AAOO,MAAMC,UAAU,GAAGC,OAAO,IAAI;AACnC,QAAMC,UAAU,GAAG,mBAAOD,OAAP,CAAnB;;AAEA,QAAME,UAAU,GAAG,MAAM;AACvB,WAAOD,UAAU,CAACE,OAAlB;AACD,GAFD;;AAIA,QAAMC,UAAU,GAAGC,MAAM,IAAI;AAC3B,UAAMC,OAAO,GAAG,mBAAK,IAAGD,MAAM,CAACE,CAAE,YAAjB,EAA8B,CAACF,MAAM,CAACG,QAAtC,EAAgDN,UAAU,EAA1D,CAAhB;AAEAD,IAAAA,UAAU,CAACE,OAAX,GAAqBG,OAAO,CAACG,MAAR,CAAeC,CAAC,IAAIA,CAAC,CAACF,QAAtB,CAArB;AACD,GAJD;;AAMA,SAAO,CAACN,UAAD,EAAaE,UAAb,CAAP;AACD,CAdM;;;;AAgBP,MAAMO,cAAc,GAAG,CAAC;AAACC,EAAAA,QAAD;AAAWP,EAAAA,MAAX;AAAmBQ,EAAAA;AAAnB,CAAD,KAAkC;AACvD,QAAMC,YAAY,GAAG,wBACnBC,OAAO,IAAI;AACT,QAAI,CAACH,QAAL,EAAe;AACb,aAAOC,QAAQ,CAACR,MAAD,CAAf;AACD;;AACD,WAAOQ,QAAQ,uBAAKR,MAAL;AAAaG,MAAAA,QAAQ,EAAEO;AAAvB,OAAf;AACD,GANkB,EAOnB,CAACF,QAAD,EAAWR,MAAX,EAAmBO,QAAnB,CAPmB,CAArB;AAUA,SAAOA,QAAQ,gBACb;AAAK,IAAA,SAAS,EAAEjB,eAAMqB;AAAtB,kBACE,6BAAC,sBAAD;AACE,IAAA,UAAU,EAAC,SADb;AAEE,IAAA,OAAO,EAAEX,MAAM,CAACG,QAFlB;AAGE,IAAA,QAAQ,EAAEM,YAHZ;AAIE,IAAA,cAAc,MAJhB;AAKE,IAAA,KAAK,EAAET,MAAM,CAACY;AALhB,IADF,CADa,gBAWb;AAAM,IAAA,SAAS,EAAEtB,eAAMqB,IAAvB;AAA6B,IAAA,OAAO,EAAEF,YAAtC;AAAoD,IAAA,KAAK,EAAET,MAAM,CAACY;AAAlE,KACGZ,MAAM,CAACY,IADV,CAXF;AAeD,CA1BD;;AA4BA,MAAMC,cAAc,GAAG,CACrB;AACEC,EAAAA,KADF;AAEEnB,EAAAA,OAFF;AAGEoB,EAAAA,KAHF;AAIEC,EAAAA,WAJF;AAKEC,EAAAA,WALF;AAMEC,EAAAA,IANF;AAOEX,EAAAA,QAPF;AAQEC,EAAAA,QARF;AASEW,EAAAA,OATF;AAUEC,EAAAA,QAAQ,GAAG,KAVb;AAWEC,EAAAA,QAAQ,GAAG,KAXb;AAYEC,EAAAA,KAAK,GAAG,EAZV;AAaEC,EAAAA,QAAQ,GAAG;AAbb,CADqB,EAgBrB;AAACC,EAAAA;AAAD,CAhBqB,KAiBlB;AACH,QAAM,CAACC,QAAD,EAAWC,cAAX,IAA6B,qBAAS,KAAT,CAAnC;AACA,QAAM,CAAC7B,UAAD,EAAaE,UAAb,IAA2BL,UAAU,CAACC,OAAD,CAA3C;AACA,QAAMgC,OAAO,GAAG,mBAAO,IAAP,CAAhB;AAEA,QAAMC,YAAY,GAAG,mBAAI,gBAAJ,EAAsBJ,IAAtB,CAArB;AACA,QAAMK,KAAK,GAAG,mBAAI,cAAJ,EAAoBL,IAApB,CAAd;AAEA,QAAMM,aAAa,GAAG,wBACpBC,CAAC,IAAI;AACH,QAAIR,QAAJ,EAAc;AAEdQ,IAAAA,CAAC,CAACC,cAAF;AACAD,IAAAA,CAAC,CAACE,eAAF;AAEAP,IAAAA,cAAc,CAACQ,IAAI,IAAI,CAACA,IAAV,CAAd;AACD,GARmB,EASpB,CAACX,QAAD,CAToB,CAAtB;AAYA,QAAMY,WAAW,GAAG,wBAAYJ,CAAC,IAAI;AACnC,QAAIJ,OAAO,IAAIA,OAAO,CAAC7B,OAAnB,IAA8B,CAAC6B,OAAO,CAAC7B,OAAR,CAAgBsC,QAAhB,CAAyBL,CAAC,CAACM,MAA3B,CAAnC,EAAuE;AACrEX,MAAAA,cAAc,CAAC,KAAD,CAAd;AACD;AACF,GAJmB,EAIjB,EAJiB,CAApB;AAMA,QAAMjB,YAAY,GAAG,wBACnBT,MAAM,IAAI;AACR;AACA;AACA,QAAIO,QAAJ,EAAc;AACZR,MAAAA,UAAU,CAACC,MAAD,CAAV;AAEA,aAAOQ,QAAQ,CAACX,UAAU,EAAX,CAAf;AACD;;AAED,WAAOW,QAAQ,CAACR,MAAD,CAAf;AACD,GAXkB,EAYnB,CAACO,QAAD,EAAWC,QAAX,EAAqBT,UAArB,EAAiCF,UAAjC,CAZmB,CAArB;AAeA,wBAAU,MAAM;AACdyC,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCJ,WAAnC;AACAG,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwCJ,WAAxC;AAEA,WAAO,MAAM;AACXG,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCL,WAAtC;AACAG,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,YAA7B,EAA2CL,WAA3C;AACD,KAHD;AAID,GARD,EAQG,CAACA,WAAD,CARH;AAUA,QAAMM,SAAS,GAAG1B,KAAK,KAAK,cAA5B;;AAEA,QAAM2B,KAAK,GAAG,cAAIC,OAAJ,CAAY;AAACC,IAAAA,GAAG,EAAE;AAAN,GAAZ,EAA0B,CAAC5C,MAAD,EAASE,CAAT,KAAe;AACrD,wBACE;AAAI,MAAA,GAAG,EAAEA,CAAT;AAAY,MAAA,SAAS,EAAEZ,eAAMU;AAA7B,OACGyC,SAAS,gBACR,6BAAC,cAAD;AAAgB,MAAA,QAAQ,EAAElC,QAA1B;AAAoC,MAAA,MAAM,wBAAMP,MAAN;AAAcE,QAAAA;AAAd,QAA1C;AAA4D,MAAA,QAAQ,EAAEO;AAAtE,MADQ,gBAGR,6BAAC,uBAAD;AACE,MAAA,QAAQ,EAAEA,YADZ;AAEE,MAAA,MAAM,wBAAMT,MAAN;AAAcE,QAAAA;AAAd,QAFR;AAGE,MAAA,UAAU,EAAE0B;AAHd,MAJJ,CADF;AAaD,GAda,EAcXjC,OAdW,CAAd;;AAgBA,QAAMkD,SAAS,GAAG,oBAAK,sBAAO;AAAC1C,IAAAA,QAAQ,EAAE;AAAX,GAAP,CAAL,EAA+B,mBAAI,MAAJ,CAA/B,EAA4C,oBAAK,IAAL,CAA5C,EAAwDR,OAAxD,CAAlB;;AAEA,QAAMmD,MAAM,GAAGhC,KAAK,IAAK,GAAEA,KAAM,GAAEO,QAAQ,GAAG,IAAH,GAAU,EAAG,EAAxD;;AAEA,QAAM0B,QAAQ,GAAGtB,QAAQ,KAAK,IAA9B;AAEA,QAAMuB,SAAS,GAAGlC,KAAK,gBACrB;AACE,IAAA,SAAS,EAAE,yBACTxB,eAAMwB,KADG,EAET2B,SAAS,IAAII,SAAb,IAA0BvD,eAAM2D,kBAFvB,EAGTR,SAAS,IAAI,uBAAQI,SAAR,CAAb,IAAmCvD,eAAM4D,OAHhC,EAITH,QAAQ,IAAIzD,eAAM6D,MAJT;AADb,KAQGL,MARH,EASGL,SAAS,gBACR;AAAK,IAAA,SAAS,EAAEnD,eAAM8D;AAAtB,kBACE,6BAAC,qDAAD;AAAU,IAAA,SAAS,EAAE9D,eAAM+D;AAA3B,IADF,eAEE;AAAK,IAAA,SAAS,EAAE/D,eAAMgE;AAAtB,KAAyCrC,WAAzC,CAFF,CADQ,GAKN,IAdN,CADqB,GAiBnB,IAjBJ;AAmBA,QAAMsC,QAAQ,GACZd,SAAS,IAAI,CAACM,QAAd,gBACE;AACE,IAAA,SAAS,EAAEzD,eAAM4B,IADnB,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACsC,MAAAA,MAAM,EAAElC,KAAK,IAAIJ;AAAlB;AAH3B,IADF,GAMI,IAPN;AASA,QAAMuC,SAAS,GAAG1C,KAAK,GAAG3B,UAAU,CAAC2B,KAAD,CAAb,GAAuBzB,eAAMoE,OAApD;AACA,QAAMC,eAAe,GAAGlB,SAAS,IAAIM,QAArC;AACA,QAAMa,kBAAkB,GAAG,4BACzBtE,eAAMoE,OADmB,EAEzBpE,eAAM8B,QAFmB,EAGzB9B,eAAMgC,KAHmB,EAIzBF,QAJyB,EAKzBE,KALyB,CAA3B;AAQA,QAAMuC,aAAa,GAAGvC,KAAK,gBAAG,6BAAC,+BAAD;AAAW,IAAA,OAAO,EAAEH,OAApB;AAA6B,IAAA,SAAS,EAAE7B,eAAMwE;AAA9C,IAAH,GAAiE,IAA5F;AAEA,sBACE;AACE,IAAA,SAAS,EAAE,yBAAWL,SAAX,EAAsBG,kBAAtB,EAA0CrC,QAAQ,IAAIjC,eAAMiC,QAA5D,CADb;AAEE,IAAA,GAAG,EAAEI;AAFP,kBAIE,4CACG,CAACc,SAAD,IAAcO,SADjB,eAEE;AAAK,IAAA,SAAS,EAAE1D,eAAMyE,MAAtB;AAA8B,IAAA,KAAK,EAAElB,SAAS,IAAI7B,WAAlD;AAA+D,IAAA,OAAO,EAAEc;AAAxE,KACGW,SAAS,IAAIO,SADhB,eAEE;AACE,IAAA,SAAS,EAAE,yBACT1D,eAAMuD,SADG,EAETJ,SAAS,IAAI,uBAAQI,SAAR,CAAb,IAAmCvD,eAAM0E,WAFhC;AADb,KAMGnB,SAAS,IAAI,CAACJ,SAAd,IAA4BkB,eAAe,IAAI3C,WAA/C,IAA+D,IANlE,CAFF,EAUGyB,SAAS,gBACR;AAAK,IAAA,SAAS,EAAEnD,eAAM2E;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAE3E,eAAM4E;AAAtB,KAA6BL,aAA7B,CADF,eAEE;AAAK,IAAA,SAAS,EAAE,yBAAWvE,eAAM4E,IAAjB,EAAuBnB,QAAQ,IAAIzD,eAAM6E,OAAzC;AAAhB,kBACE,6BAAC,6CAAD;AACE,IAAA,KAAK,EAAEtC,KADT;AAEE,IAAA,SAAS,EAAE,yBAAWvC,eAAM8E,KAAjB,EAAwB;AAAC,OAAC9E,eAAM+E,IAAP,GAActB;AAAf,KAAxB;AAFb,IADF,CAFF,CADQ,gBAWR,6BAAC,6CAAD;AACE,IAAA,KAAK,EAAElB,KADT;AAEE,IAAA,SAAS,EAAE,yBAAWvC,eAAM8E,KAAjB,EAAwB;AAAC,OAAC9E,eAAM+E,IAAP,GAActB;AAAf,KAAxB;AAFb,IArBJ,CAFF,eA6BE;AAAK,IAAA,SAAS,EAAE,yBAAWzD,eAAMW,OAAjB,EAA0B8C,QAAQ,IAAIzD,eAAMgF,aAA5C;AAAhB,kBACE;AAAI,IAAA,SAAS,EAAEhF,eAAMiF;AAArB,KAA4B7B,KAA5B,CADF,CA7BF,CAJF,EAqCG,CAACD,SAAD,gBAAa;AAAK,IAAA,SAAS,EAAEnD,eAAM2B;AAAtB,KAAoCA,WAApC,CAAb,GAAsE,IArCzE,EAsCGsC,QAtCH,CADF;AA0CD,CA9KD;;AAgLA1C,cAAc,CAAC2D,YAAf,GAA8B;AAC5BhD,EAAAA,IAAI,EAAEiD,kBAASC,iBAAT,CAA2BlD;AADL,CAA9B;AAIAlB,cAAc,CAACqE,SAAf,2CAA2B;AACzBpE,EAAAA,QAAQ,EAAEqE,mBAAUC,IADK;AAEzB7E,EAAAA,MAAM,EAAE8E,wBAAeH,SAAf,CAAyB3E,MAFR;AAGzBQ,EAAAA,QAAQ,EAAEoE,mBAAUG;AAHK,CAA3B;AAMAlE,cAAc,CAAC8D,SAAf,2CAA2B;AACzB7D,EAAAA,KAAK,EAAE8D,mBAAUI,MADQ;AAEzBhE,EAAAA,WAAW,EAAE4D,mBAAUI,MAFE;AAGzB/D,EAAAA,WAAW,EAAE2D,mBAAUI,MAHE;AAIzB9D,EAAAA,IAAI,EAAE0D,mBAAUI,MAJS;AAKzBrF,EAAAA,OAAO,EAAEiF,mBAAUK,OAAV,CAAkBH,wBAAeH,SAAf,CAAyB3E,MAA3C,CALgB;AAMzBQ,EAAAA,QAAQ,EAAEoE,mBAAUG,IANK;AAOzB5D,EAAAA,OAAO,EAAEyD,mBAAUG,IAPM;AAQzBxE,EAAAA,QAAQ,EAAEqE,mBAAUC,IARK;AASzBzD,EAAAA,QAAQ,EAAEwD,mBAAUC,IATK;AAUzBtD,EAAAA,QAAQ,EAAEqD,mBAAUC,IAVK;AAWzBxD,EAAAA,QAAQ,EAAEuD,mBAAUC,IAXK;AAYzBvD,EAAAA,KAAK,EAAEsD,mBAAUI,MAZQ;AAazBjE,EAAAA,KAAK,EAAE6D,mBAAUM,KAAV,CAAgB,oBAAK9F,UAAL,CAAhB;AAbkB,CAA3B;eAgBeyB,c","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, keys, isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaSolidStatusClose as ErrorIcon,\n NovaCompositionCoorpacademyInformationIcon as InfoIcon\n} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport Checkbox from '../../atom/input-checkbox';\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 coorpmanager: style.coorpmanager\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 CMMultipleView = ({multiple, choice, onChange}) => {\n const handleChange = useCallback(\n checked => {\n if (!multiple) {\n return onChange(choice);\n }\n return onChange({...choice, selected: checked});\n },\n [onChange, choice, multiple]\n );\n\n return multiple ? (\n <div className={style.item}>\n <Checkbox\n titleStyle=\"inherit\"\n checked={choice.selected}\n onChange={handleChange}\n noLabelMargins\n title={choice.name}\n />\n </div>\n ) : (\n <span className={style.item} onClick={handleChange} title={choice.name}>\n {choice.name}\n </span>\n );\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n hint,\n multiple,\n onChange,\n onError,\n modified = false,\n required = false,\n error = '',\n disabled = 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(\n e => {\n if (disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n },\n [disabled]\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 [multiple, onChange, setChoices, getChoices]\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 isCMTheme = theme === 'coorpmanager';\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li key={i} className={style.choice}>\n {isCMTheme ? (\n <CMMultipleView multiple={multiple} choice={{...choice, i}} onChange={handleChange} />\n ) : (\n <TitledCheckbox\n onToggle={handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n )}\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 isActive = isOpened === true;\n\n const titleView = title ? (\n <span\n className={classnames(\n style.title,\n isCMTheme && selection && style.titleWithSelection,\n isCMTheme && isEmpty(selection) && style.noValue,\n isActive && style.active\n )}\n >\n {_title}\n {isCMTheme ? (\n <div className={style.infoIconWrapper}>\n <InfoIcon className={style.infoIcon} />\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n ) : null}\n </span>\n ) : null;\n\n const hintView =\n isCMTheme && !isActive ? (\n <div\n className={style.hint}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: error || hint}}\n />\n ) : null;\n\n const mainClass = theme ? themeStyle[theme] : style.default;\n const showPlaceholder = isCMTheme && isActive;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n const errorIconView = error ? <ErrorIcon onClick={onError} className={style.errorIcon} /> : null;\n\n return (\n <div\n className={classnames(mainClass, behaviourClassName, disabled && style.disabled)}\n ref={nodeRef}\n >\n <label>\n {!isCMTheme && titleView}\n <div className={style.select} title={selection || placeholder} onClick={handleOnClick}>\n {isCMTheme && titleView}\n <span\n className={classnames(\n style.selection,\n isCMTheme && isEmpty(selection) && style.noselection\n )}\n >\n {selection || !isCMTheme || (showPlaceholder && placeholder) || null}\n </span>\n {isCMTheme ? (\n <div className={style.iconsWrapper}>\n <div className={style.flex}>{errorIconView}</div>\n <div className={classnames(style.flex, isActive && style.clicked)}>\n <ArrowDown\n color={black}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n </div>\n ) : (\n <ArrowDown\n color={black}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n )}\n </div>\n <div className={classnames(style.choices, isActive && style.activeChoices)}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n {!isCMTheme ? <div className={style.description}>{description}</div> : null}\n {hintView}\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCMMultipleView.propTypes = {\n multiple: PropTypes.bool,\n choice: TitledCheckbox.propTypes.choice,\n onChange: PropTypes.func\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n hint: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n multiple: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n required: PropTypes.bool,\n error: PropTypes.string,\n theme: PropTypes.oneOf(keys(themeStyle))\n};\n\nexport default SelectMultiple;\n"],"file":"index.js"}
|
|
@@ -6,6 +6,12 @@
|
|
|
6
6
|
@value lightGrey from colors;
|
|
7
7
|
@value negative from colors;
|
|
8
8
|
@value xtraLightGrey from colors;
|
|
9
|
+
@value cm_grey_400 from colors;
|
|
10
|
+
@value cm_grey_700 from colors;
|
|
11
|
+
@value cm_grey_200 from colors;
|
|
12
|
+
@value cm_grey_150 from colors;
|
|
13
|
+
@value cm_grey_100 from colors;
|
|
14
|
+
@value cm_negative_100 from colors;
|
|
9
15
|
@value medium from colors;
|
|
10
16
|
@value defaultText from "../../variables/fonts.css";
|
|
11
17
|
|
|
@@ -57,24 +63,29 @@
|
|
|
57
63
|
}
|
|
58
64
|
|
|
59
65
|
.choices {
|
|
60
|
-
display: none;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.activeChoices {
|
|
64
66
|
display: block;
|
|
67
|
+
visibility: hidden;
|
|
65
68
|
width: 100%;
|
|
66
|
-
height: auto;
|
|
67
69
|
padding: 0 15px;
|
|
68
70
|
box-sizing: border-box;
|
|
69
71
|
background: white;
|
|
70
72
|
position: absolute;
|
|
71
73
|
z-index: 4;
|
|
72
|
-
top:
|
|
74
|
+
top: 48px;
|
|
73
75
|
left: 0;
|
|
74
76
|
border: 1px solid light;
|
|
75
77
|
user-select: none;
|
|
76
|
-
max-height: 200px;
|
|
77
78
|
overflow: scroll;
|
|
79
|
+
max-height: 0;
|
|
80
|
+
transition: all 0.25s linear;
|
|
81
|
+
opacity: 1;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.activeChoices {
|
|
85
|
+
visibility: visible;
|
|
86
|
+
height: auto;
|
|
87
|
+
max-height: 200px;
|
|
88
|
+
opacity: 1;
|
|
78
89
|
}
|
|
79
90
|
|
|
80
91
|
.choice {
|
|
@@ -83,12 +94,14 @@
|
|
|
83
94
|
padding: 0;
|
|
84
95
|
}
|
|
85
96
|
|
|
86
|
-
.choice
|
|
97
|
+
.choice .item {
|
|
98
|
+
font-size: 14px;
|
|
99
|
+
user-select: none;
|
|
87
100
|
text-overflow: ellipsis;
|
|
88
101
|
white-space: nowrap;
|
|
89
102
|
overflow: hidden;
|
|
90
|
-
|
|
91
|
-
|
|
103
|
+
width: 100%;
|
|
104
|
+
display: block;
|
|
92
105
|
}
|
|
93
106
|
|
|
94
107
|
.arrow {
|
|
@@ -110,6 +123,7 @@
|
|
|
110
123
|
margin: 0;
|
|
111
124
|
padding: 0;
|
|
112
125
|
}
|
|
126
|
+
|
|
113
127
|
.description {
|
|
114
128
|
font-family: 'Open Sans';
|
|
115
129
|
font-weight: 500;
|
|
@@ -118,12 +132,14 @@
|
|
|
118
132
|
font-style: italic;
|
|
119
133
|
margin: auto 0;
|
|
120
134
|
}
|
|
135
|
+
|
|
121
136
|
/*
|
|
122
137
|
setup sidebar
|
|
123
138
|
*/
|
|
124
139
|
.sidebar {
|
|
125
140
|
width: 150px;
|
|
126
141
|
}
|
|
142
|
+
|
|
127
143
|
/*
|
|
128
144
|
setup theme
|
|
129
145
|
*/
|
|
@@ -171,6 +187,7 @@
|
|
|
171
187
|
display: inline-flex;
|
|
172
188
|
align-items: center;
|
|
173
189
|
}
|
|
190
|
+
|
|
174
191
|
/*
|
|
175
192
|
cockpit theme
|
|
176
193
|
*/
|
|
@@ -201,4 +218,269 @@
|
|
|
201
218
|
.cockpit .activeChoices {
|
|
202
219
|
width: 170px;
|
|
203
220
|
border-top: none;
|
|
204
|
-
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/* COORPMANAGER THEME */
|
|
224
|
+
|
|
225
|
+
.coorpmanager .select {
|
|
226
|
+
display: flex;
|
|
227
|
+
flex-direction: column;
|
|
228
|
+
justify-content: center;
|
|
229
|
+
border-radius: 8px;
|
|
230
|
+
width: 100%;
|
|
231
|
+
font-size: 14px;
|
|
232
|
+
color: black;
|
|
233
|
+
height: 44px;
|
|
234
|
+
padding: 11px 85px 11px 16px;
|
|
235
|
+
background-color: cm_grey_100;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.coorpmanager .select .title {
|
|
239
|
+
display: flex;
|
|
240
|
+
flex-direction: row;
|
|
241
|
+
flex-grow: 0;
|
|
242
|
+
font-family: Gilroy;
|
|
243
|
+
font-weight: bold;
|
|
244
|
+
font-stretch: normal;
|
|
245
|
+
font-style: normal;
|
|
246
|
+
letter-spacing: normal;
|
|
247
|
+
text-align: left;
|
|
248
|
+
font-size: 14px;
|
|
249
|
+
z-index: 1;
|
|
250
|
+
color: cm_grey_700;
|
|
251
|
+
transition: all 0.25s ease;
|
|
252
|
+
pointer-events: none;
|
|
253
|
+
flex-wrap: nowrap;
|
|
254
|
+
position: absolute;
|
|
255
|
+
top: 7px;
|
|
256
|
+
left: 16px;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.coorpmanager .select:hover {
|
|
260
|
+
background-color: cm_grey_150;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.coorpmanager .select .selection {
|
|
264
|
+
font-size: 14px;
|
|
265
|
+
font-weight: 500;
|
|
266
|
+
transition: all 0.25s ease;
|
|
267
|
+
line-height: 20px;
|
|
268
|
+
margin: 10px 0 -10px 0;
|
|
269
|
+
text-overflow: ellipsis;
|
|
270
|
+
white-space: nowrap;
|
|
271
|
+
overflow: hidden;
|
|
272
|
+
width: 100%;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.coorpmanager .select .selection.noselection {
|
|
276
|
+
color: cm_grey_400;
|
|
277
|
+
font-weight: 500;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
.coorpmanager .select .title.noValue.active,
|
|
281
|
+
.coorpmanager .select .title.titleWithSelection {
|
|
282
|
+
font-size: 10px;
|
|
283
|
+
width: max-content;
|
|
284
|
+
height: 8px;
|
|
285
|
+
line-height: 12px;
|
|
286
|
+
color: cm_grey_400;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.coorpmanager .select .title.noValue.active,
|
|
290
|
+
.coorpmanager .select .title.titleWithSelection {
|
|
291
|
+
width: max-content;
|
|
292
|
+
height: 8px;
|
|
293
|
+
line-height: 12px;
|
|
294
|
+
color: cm_grey_400;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
.coorpmanager .arrow:hover {
|
|
298
|
+
background-color: cm_grey_200;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.coorpmanager .activeChoices {
|
|
302
|
+
margin-top: 2px;
|
|
303
|
+
background-color: light;
|
|
304
|
+
border-radius: 8px;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.choice {
|
|
308
|
+
color: black;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.coorpmanager .infoIconWrapper {
|
|
312
|
+
overflow: visible;
|
|
313
|
+
height: 12px;
|
|
314
|
+
margin: 0 4px;
|
|
315
|
+
cursor: pointer;
|
|
316
|
+
pointer-events: fill;
|
|
317
|
+
position: relative;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.coorpmanager .infoIcon {
|
|
321
|
+
cursor: pointer;
|
|
322
|
+
width: 8px;
|
|
323
|
+
margin: 4px 4px 0 4px;
|
|
324
|
+
height: 8px;
|
|
325
|
+
line-height: 16px;
|
|
326
|
+
color: cm_grey_400;
|
|
327
|
+
transition: all 0.25s linear;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
.coorpmanager .select .title.noValue .infoIcon {
|
|
331
|
+
color: cm_grey_700;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.coorpmanager .select .title.noValue.active .infoIcon,
|
|
335
|
+
.coorpmanager .select .title.titleWithSelection .infoIcon {
|
|
336
|
+
color: cm_grey_400;
|
|
337
|
+
margin: 0 4px 0 4px;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.coorpmanager .infoIconWrapper:hover .descriptionLabel {
|
|
341
|
+
visibility: visible;
|
|
342
|
+
opacity: 1;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.coorpmanager .descriptionLabel {
|
|
346
|
+
margin: 0 1px 18px 0;
|
|
347
|
+
padding: 8px 16px;
|
|
348
|
+
border-radius: 7px;
|
|
349
|
+
background-color: cm_grey_700;
|
|
350
|
+
flex-grow: 0;
|
|
351
|
+
font-family: Gilroy;
|
|
352
|
+
font-size: 14px;
|
|
353
|
+
font-weight: 500;
|
|
354
|
+
font-stretch: normal;
|
|
355
|
+
font-style: normal;
|
|
356
|
+
line-height: 1.43;
|
|
357
|
+
letter-spacing: normal;
|
|
358
|
+
text-align: center;
|
|
359
|
+
color: white;
|
|
360
|
+
max-width: 200px;
|
|
361
|
+
position: absolute;
|
|
362
|
+
left: -19px;
|
|
363
|
+
z-index: 3;
|
|
364
|
+
bottom: 5px;
|
|
365
|
+
width: max-content;
|
|
366
|
+
visibility: hidden;
|
|
367
|
+
opacity: 0s;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.coorpmanager .descriptionLabel::after {
|
|
371
|
+
content: '';
|
|
372
|
+
border-left: 6px solid transparent;
|
|
373
|
+
border-right: 6px solid transparent;
|
|
374
|
+
border-top: 6px solid cm_grey_700;
|
|
375
|
+
position: absolute;
|
|
376
|
+
bottom: -6px;
|
|
377
|
+
left: 21px;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.coorpmanager .title.noValue .descriptionLabel::after {
|
|
381
|
+
left: 21px;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
.coorpmanager:focus-within .title.noValue .descriptionLabel::after {
|
|
385
|
+
left: 21px;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.coorpmanager .iconsWrapper {
|
|
389
|
+
position: absolute;
|
|
390
|
+
display: flex;
|
|
391
|
+
justify-content: space-around;
|
|
392
|
+
align-items: center;
|
|
393
|
+
width: 88px;
|
|
394
|
+
height: 44px;
|
|
395
|
+
right: 0;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
.coorpmanager .flex {
|
|
399
|
+
width: 44px;
|
|
400
|
+
height: 44px;
|
|
401
|
+
display: flex;
|
|
402
|
+
justify-content: center;
|
|
403
|
+
align-items: center;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.coorpmanager .flex:nth-child(2) {
|
|
407
|
+
padding: 0 16px;
|
|
408
|
+
margin-left: 16px;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
.coorpmanager .flex .arrow {
|
|
412
|
+
position: relative;
|
|
413
|
+
right: 0;
|
|
414
|
+
margin-top: 0;
|
|
415
|
+
top: 0%;
|
|
416
|
+
pointer-events: none;
|
|
417
|
+
width: 12px;
|
|
418
|
+
height: 12px;
|
|
419
|
+
transition: transform 0.25s;
|
|
420
|
+
cursor: pointer;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.coorpmanager .flex.clicked {
|
|
424
|
+
background-color: cm_grey_200;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.coorpmanager .arrow.down {
|
|
428
|
+
cursor: pointer;
|
|
429
|
+
transform: rotate(180deg);
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
.coorpmanager .errorIcon {
|
|
433
|
+
background-color: cm_negative_100;
|
|
434
|
+
color: white;
|
|
435
|
+
padding: 4px;
|
|
436
|
+
border-radius: 50%;
|
|
437
|
+
width: 10px;
|
|
438
|
+
height: 10px;
|
|
439
|
+
cursor: pointer;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
.coorpmanager .hint {
|
|
443
|
+
flex-grow: 0;
|
|
444
|
+
opacity: 0.5;
|
|
445
|
+
font-family: Gilroy;
|
|
446
|
+
font-size: 10px;
|
|
447
|
+
font-weight: 500;
|
|
448
|
+
font-stretch: normal;
|
|
449
|
+
font-style: normal;
|
|
450
|
+
line-height: 1.2;
|
|
451
|
+
letter-spacing: normal;
|
|
452
|
+
text-align: left;
|
|
453
|
+
padding-top: 8px;
|
|
454
|
+
transition: transform 0.25s;
|
|
455
|
+
color: cm_grey_700;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
.coorpmanager.error .hint {
|
|
459
|
+
color: cm_negative_100;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
.coorpmanager.disabled .select {
|
|
463
|
+
background-color: cm_grey_100;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
.coorpmanager.disabled .select .selection {
|
|
467
|
+
color: cm_grey_100;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
.coorpmanager.disabled .select .title {
|
|
471
|
+
color: cm_grey_700;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
.coorpmanager.disabled .select .title.noValue,
|
|
475
|
+
.coorpmanager.disabled .select .selection {
|
|
476
|
+
color: cm_grey_700;
|
|
477
|
+
opacity: 0.5;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
.coorpmanager.disabled .select .title.titleWithSelection {
|
|
481
|
+
color: cm_grey_400;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
.coorpmanager.disabled .arrow {
|
|
485
|
+
opacity: 0.5;
|
|
486
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _default = {
|
|
6
|
+
props: {
|
|
7
|
+
theme: 'coorpmanager',
|
|
8
|
+
placeholder: 'Select language(s)',
|
|
9
|
+
title: 'Input Name',
|
|
10
|
+
description: 'You should select a language',
|
|
11
|
+
multiple: false,
|
|
12
|
+
disabled: true,
|
|
13
|
+
error: '',
|
|
14
|
+
hint: 'Hint',
|
|
15
|
+
options: [{
|
|
16
|
+
name: '🇬🇧 English',
|
|
17
|
+
value: 'en',
|
|
18
|
+
selected: true
|
|
19
|
+
}, {
|
|
20
|
+
name: '🇩🇪 German',
|
|
21
|
+
value: 'de',
|
|
22
|
+
selected: false
|
|
23
|
+
}, {
|
|
24
|
+
name: '🇹🇭 Thai',
|
|
25
|
+
value: 'th',
|
|
26
|
+
selected: false
|
|
27
|
+
}, {
|
|
28
|
+
name: '🇪🇸 Spanish',
|
|
29
|
+
value: 'es',
|
|
30
|
+
selected: false
|
|
31
|
+
}],
|
|
32
|
+
onChange: value => console.log('onChange', value),
|
|
33
|
+
onError: () => true
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
exports.default = _default;
|
|
37
|
+
//# sourceMappingURL=checked-cm-theme-disabled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/select-multiple/test/fixtures/checked-cm-theme-disabled.js"],"names":["props","theme","placeholder","title","description","multiple","disabled","error","hint","options","name","value","selected","onChange","console","log","onError"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE,cADF;AAELC,IAAAA,WAAW,EAAE,oBAFR;AAGLC,IAAAA,KAAK,EAAE,YAHF;AAILC,IAAAA,WAAW,EAAE,8BAJR;AAKLC,IAAAA,QAAQ,EAAE,KALL;AAMLC,IAAAA,QAAQ,EAAE,IANL;AAOLC,IAAAA,KAAK,EAAE,EAPF;AAQLC,IAAAA,IAAI,EAAE,MARD;AASLC,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,IAAI,EAAE,cADR;AAEEC,MAAAA,KAAK,EAAE,IAFT;AAGEC,MAAAA,QAAQ,EAAE;AAHZ,KADO,EAMP;AACEF,MAAAA,IAAI,EAAE,aADR;AAEEC,MAAAA,KAAK,EAAE,IAFT;AAGEC,MAAAA,QAAQ,EAAE;AAHZ,KANO,EAWP;AACEF,MAAAA,IAAI,EAAE,WADR;AAEEC,MAAAA,KAAK,EAAE,IAFT;AAGEC,MAAAA,QAAQ,EAAE;AAHZ,KAXO,EAgBP;AACEF,MAAAA,IAAI,EAAE,cADR;AAEEC,MAAAA,KAAK,EAAE,IAFT;AAGEC,MAAAA,QAAQ,EAAE;AAHZ,KAhBO,CATJ;AA+BLC,IAAAA,QAAQ,EAAEF,KAAK,IAAIG,OAAO,CAACC,GAAR,CAAY,UAAZ,EAAwBJ,KAAxB,CA/Bd;AAgCLK,IAAAA,OAAO,EAAE,MAAM;AAhCV;AADM,C","sourcesContent":["export default {\n props: {\n theme: 'coorpmanager',\n placeholder: 'Select language(s)',\n title: 'Input Name',\n description: 'You should select a language',\n multiple: false,\n disabled: true,\n error: '',\n hint: 'Hint',\n options: [\n {\n name: '🇬🇧 English',\n value: 'en',\n selected: true\n },\n {\n name: '🇩🇪 German',\n value: 'de',\n selected: false\n },\n {\n name: '🇹🇭 Thai',\n value: 'th',\n selected: false\n },\n {\n name: '🇪🇸 Spanish',\n value: 'es',\n selected: false\n }\n ],\n onChange: value => console.log('onChange', value),\n onError: () => true\n }\n};\n"],"file":"checked-cm-theme-disabled.js"}
|