Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | 1x 1x 1x 1x 1x 1x 1x 2x 2x 4x 4x 4x 2x 4x 2x 4x 4x | export const BASE_CLASS = `sui-MoleculeDropdownList`
export const CLASS_HIDDEN = `is-hidden`
export const DEBOUNCE_TIME = 500
export const DESIGNS = {
FLAT: 'flat',
SOLID: 'solid'
}
export const SIZES = {
SMALL: 'small',
MEDIUM: 'medium',
LARGE: 'large'
}
export const POSITIONS = {
TOP: 'top',
BOTTOM: 'bottom'
}
export const moleculeDropdownListSelectHandler = {
single:
({value, onSelect}) =>
(event, {value: valueHandled, selected: selectedHandled, ...args}) => {
typeof onSelect === 'function' &&
onSelect(event, {
value: selectedHandled || value !== valueHandled ? valueHandled : undefined,
selected: selectedHandled,
...args
})
},
multiple:
({value: valueState = [], onSelect}) =>
(event, {value: valueHandled, selected: selectedHandled, ...args}) => {
let selected = !valueState.includes(valueHandled)
if (selectedHandled === undefined) {
selected = selectedHandled
}
const value =
selected === true || !valueState.includes(valueHandled)
? [...valueState.filter(val => val !== valueHandled), valueHandled]
: valueState.filter(val => val !== valueHandled)
typeof onSelect === 'function' &&
onSelect(event, {
value,
selected,
...args
})
}
}
|