@s-ui/react-molecule-dropdown-list
Version:
`MoleculeDropdownList` is a composition of DropdownOptions
58 lines • 2.01 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
var _excluded = ["value", "selected"],
_excluded2 = ["value", "selected"];
export var BASE_CLASS = "sui-MoleculeDropdownList";
export var CLASS_HIDDEN = "is-hidden";
export var DEBOUNCE_TIME = 500;
export var DESIGNS = {
FLAT: 'flat',
SOLID: 'solid'
};
export var SIZES = {
SMALL: 'small',
MEDIUM: 'medium',
LARGE: 'large'
};
export var POSITIONS = {
TOP: 'top',
BOTTOM: 'bottom'
};
export var moleculeDropdownListSelectHandler = {
single: function single(_ref) {
var value = _ref.value,
onSelect = _ref.onSelect;
return function (event, _ref2) {
var valueHandled = _ref2.value,
selectedHandled = _ref2.selected,
args = _objectWithoutPropertiesLoose(_ref2, _excluded);
typeof onSelect === 'function' && onSelect(event, _extends({
value: selectedHandled || value !== valueHandled ? valueHandled : undefined,
selected: selectedHandled
}, args));
};
},
multiple: function multiple(_ref3) {
var _ref3$value = _ref3.value,
valueState = _ref3$value === void 0 ? [] : _ref3$value,
onSelect = _ref3.onSelect;
return function (event, _ref4) {
var valueHandled = _ref4.value,
selectedHandled = _ref4.selected,
args = _objectWithoutPropertiesLoose(_ref4, _excluded2);
var selected = !valueState.includes(valueHandled);
if (selectedHandled === undefined) {
selected = selectedHandled;
}
var value = selected === true || !valueState.includes(valueHandled) ? [].concat(valueState.filter(function (val) {
return val !== valueHandled;
}), [valueHandled]) : valueState.filter(function (val) {
return val !== valueHandled;
});
typeof onSelect === 'function' && onSelect(event, _extends({
value: value,
selected: selected
}, args));
};
}
};